pulumi-gcp 8.14.0a1736836474__py3-none-any.whl → 8.14.0a1736952890__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/applicationintegration/_inputs.py +3 -3
  3. pulumi_gcp/applicationintegration/outputs.py +2 -2
  4. pulumi_gcp/beyondcorp/__init__.py +1 -0
  5. pulumi_gcp/beyondcorp/_inputs.py +93 -0
  6. pulumi_gcp/beyondcorp/outputs.py +89 -0
  7. pulumi_gcp/beyondcorp/security_gateway.py +670 -0
  8. pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
  9. pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +6 -6
  11. pulumi_gcp/certificateauthority/outputs.py +4 -4
  12. pulumi_gcp/certificatemanager/_inputs.py +3 -3
  13. pulumi_gcp/certificatemanager/outputs.py +2 -2
  14. pulumi_gcp/chronicle/__init__.py +2 -0
  15. pulumi_gcp/chronicle/_inputs.py +388 -0
  16. pulumi_gcp/chronicle/data_access_label.py +690 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +1094 -0
  18. pulumi_gcp/chronicle/outputs.py +322 -0
  19. pulumi_gcp/chronicle/watchlist.py +68 -45
  20. pulumi_gcp/cloudbuild/_inputs.py +3 -3
  21. pulumi_gcp/cloudbuild/outputs.py +2 -2
  22. pulumi_gcp/cloudquota/__init__.py +1 -0
  23. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
  24. pulumi_gcp/compute/_inputs.py +33 -33
  25. pulumi_gcp/compute/instance_group_manager.py +9 -9
  26. pulumi_gcp/compute/outputs.py +22 -22
  27. pulumi_gcp/compute/region_instance_group_manager.py +9 -9
  28. pulumi_gcp/datacatalog/_inputs.py +3 -3
  29. pulumi_gcp/datacatalog/outputs.py +2 -2
  30. pulumi_gcp/developerconnect/_inputs.py +910 -42
  31. pulumi_gcp/developerconnect/connection.py +614 -86
  32. pulumi_gcp/developerconnect/git_repository_link.py +4 -0
  33. pulumi_gcp/developerconnect/outputs.py +717 -28
  34. pulumi_gcp/dns/_inputs.py +124 -20
  35. pulumi_gcp/dns/outputs.py +90 -16
  36. pulumi_gcp/dns/record_set.py +82 -0
  37. pulumi_gcp/edgecontainer/_inputs.py +3 -3
  38. pulumi_gcp/edgecontainer/outputs.py +2 -2
  39. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  40. pulumi_gcp/gkeonprem/outputs.py +10 -10
  41. pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
  42. pulumi_gcp/iap/_inputs.py +9 -3
  43. pulumi_gcp/iap/outputs.py +6 -2
  44. pulumi_gcp/iap/settings.py +63 -63
  45. pulumi_gcp/identityplatform/_inputs.py +9 -9
  46. pulumi_gcp/identityplatform/outputs.py +6 -6
  47. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  48. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  49. pulumi_gcp/monitoring/_inputs.py +3 -3
  50. pulumi_gcp/monitoring/outputs.py +2 -2
  51. pulumi_gcp/oracledatabase/_inputs.py +3 -3
  52. pulumi_gcp/oracledatabase/outputs.py +2 -2
  53. pulumi_gcp/pulumi-plugin.json +1 -1
  54. pulumi_gcp/sql/_inputs.py +20 -0
  55. pulumi_gcp/sql/database_instance.py +2 -2
  56. pulumi_gcp/sql/outputs.py +36 -0
  57. pulumi_gcp/transcoder/_inputs.py +6 -6
  58. pulumi_gcp/transcoder/outputs.py +4 -4
  59. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/METADATA +1 -1
  60. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/RECORD +62 -58
  61. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/WHEEL +0 -0
  62. {pulumi_gcp-8.14.0a1736836474.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1094 @@
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__ = ['DataAccessScopeArgs', 'DataAccessScope']
20
+
21
+ @pulumi.input_type
22
+ class DataAccessScopeArgs:
23
+ def __init__(__self__, *,
24
+ data_access_scope_id: pulumi.Input[str],
25
+ instance: pulumi.Input[str],
26
+ location: pulumi.Input[str],
27
+ allow_all: Optional[pulumi.Input[bool]] = None,
28
+ allowed_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]] = None,
29
+ denied_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]] = None,
30
+ description: Optional[pulumi.Input[str]] = None,
31
+ project: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a DataAccessScope resource.
34
+ :param pulumi.Input[str] data_access_scope_id: Required. The user provided scope id which will become the last part of the name
35
+ of the scope resource.
36
+ Needs to be compliant with https://google.aip.dev/122
37
+
38
+
39
+ - - -
40
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
41
+ :param pulumi.Input[str] location: The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
42
+ :param pulumi.Input[bool] allow_all: Optional. Whether or not the scope allows all labels, allow_all and
43
+ allowed_data_access_labels are mutually exclusive and one of them must be
44
+ present. denied_data_access_labels can still be used along with allow_all.
45
+ When combined with denied_data_access_labels, access will be granted to all
46
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
47
+ A customer with scope with denied labels A and B and allow_all will be able
48
+ to see all data except data labeled with A and data labeled with B and data
49
+ with labels A and B.
50
+ :param pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]] allowed_data_access_labels: The allowed labels for the scope. There has to be at
51
+ least one label allowed for the scope to be valid.
52
+ The logical operator for evaluation of the allowed labels is OR.
53
+ Either allow_all or allowed_data_access_labels needs to be provided.
54
+ E.g.: A customer with scope with allowed labels A and B will be able
55
+ to see data with labeled with A or B or (A and B).
56
+ Structure is documented below.
57
+ :param pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]] denied_data_access_labels: Optional. The denied labels for the scope.
58
+ The logical operator for evaluation of the denied labels is AND.
59
+ E.g.: A customer with scope with denied labels A and B won't be able
60
+ to see data labeled with A and data labeled with B
61
+ and data with labels A and B.
62
+ Structure is documented below.
63
+ :param pulumi.Input[str] description: Optional. A description of the data access scope for a human reader.
64
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
65
+ If it is not provided, the provider project is used.
66
+ """
67
+ pulumi.set(__self__, "data_access_scope_id", data_access_scope_id)
68
+ pulumi.set(__self__, "instance", instance)
69
+ pulumi.set(__self__, "location", location)
70
+ if allow_all is not None:
71
+ pulumi.set(__self__, "allow_all", allow_all)
72
+ if allowed_data_access_labels is not None:
73
+ pulumi.set(__self__, "allowed_data_access_labels", allowed_data_access_labels)
74
+ if denied_data_access_labels is not None:
75
+ pulumi.set(__self__, "denied_data_access_labels", denied_data_access_labels)
76
+ if description is not None:
77
+ pulumi.set(__self__, "description", description)
78
+ if project is not None:
79
+ pulumi.set(__self__, "project", project)
80
+
81
+ @property
82
+ @pulumi.getter(name="dataAccessScopeId")
83
+ def data_access_scope_id(self) -> pulumi.Input[str]:
84
+ """
85
+ Required. The user provided scope id which will become the last part of the name
86
+ of the scope resource.
87
+ Needs to be compliant with https://google.aip.dev/122
88
+
89
+
90
+ - - -
91
+ """
92
+ return pulumi.get(self, "data_access_scope_id")
93
+
94
+ @data_access_scope_id.setter
95
+ def data_access_scope_id(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "data_access_scope_id", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def instance(self) -> pulumi.Input[str]:
101
+ """
102
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
103
+ """
104
+ return pulumi.get(self, "instance")
105
+
106
+ @instance.setter
107
+ def instance(self, value: pulumi.Input[str]):
108
+ pulumi.set(self, "instance", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def location(self) -> pulumi.Input[str]:
113
+ """
114
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
115
+ """
116
+ return pulumi.get(self, "location")
117
+
118
+ @location.setter
119
+ def location(self, value: pulumi.Input[str]):
120
+ pulumi.set(self, "location", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="allowAll")
124
+ def allow_all(self) -> Optional[pulumi.Input[bool]]:
125
+ """
126
+ Optional. Whether or not the scope allows all labels, allow_all and
127
+ allowed_data_access_labels are mutually exclusive and one of them must be
128
+ present. denied_data_access_labels can still be used along with allow_all.
129
+ When combined with denied_data_access_labels, access will be granted to all
130
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
131
+ A customer with scope with denied labels A and B and allow_all will be able
132
+ to see all data except data labeled with A and data labeled with B and data
133
+ with labels A and B.
134
+ """
135
+ return pulumi.get(self, "allow_all")
136
+
137
+ @allow_all.setter
138
+ def allow_all(self, value: Optional[pulumi.Input[bool]]):
139
+ pulumi.set(self, "allow_all", value)
140
+
141
+ @property
142
+ @pulumi.getter(name="allowedDataAccessLabels")
143
+ def allowed_data_access_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]]:
144
+ """
145
+ The allowed labels for the scope. There has to be at
146
+ least one label allowed for the scope to be valid.
147
+ The logical operator for evaluation of the allowed labels is OR.
148
+ Either allow_all or allowed_data_access_labels needs to be provided.
149
+ E.g.: A customer with scope with allowed labels A and B will be able
150
+ to see data with labeled with A or B or (A and B).
151
+ Structure is documented below.
152
+ """
153
+ return pulumi.get(self, "allowed_data_access_labels")
154
+
155
+ @allowed_data_access_labels.setter
156
+ def allowed_data_access_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]]):
157
+ pulumi.set(self, "allowed_data_access_labels", value)
158
+
159
+ @property
160
+ @pulumi.getter(name="deniedDataAccessLabels")
161
+ def denied_data_access_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]]:
162
+ """
163
+ Optional. The denied labels for the scope.
164
+ The logical operator for evaluation of the denied labels is AND.
165
+ E.g.: A customer with scope with denied labels A and B won't be able
166
+ to see data labeled with A and data labeled with B
167
+ and data with labels A and B.
168
+ Structure is documented below.
169
+ """
170
+ return pulumi.get(self, "denied_data_access_labels")
171
+
172
+ @denied_data_access_labels.setter
173
+ def denied_data_access_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]]):
174
+ pulumi.set(self, "denied_data_access_labels", value)
175
+
176
+ @property
177
+ @pulumi.getter
178
+ def description(self) -> Optional[pulumi.Input[str]]:
179
+ """
180
+ Optional. A description of the data access scope for a human reader.
181
+ """
182
+ return pulumi.get(self, "description")
183
+
184
+ @description.setter
185
+ def description(self, value: Optional[pulumi.Input[str]]):
186
+ pulumi.set(self, "description", value)
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def project(self) -> Optional[pulumi.Input[str]]:
191
+ """
192
+ The ID of the project in which the resource belongs.
193
+ If it is not provided, the provider project is used.
194
+ """
195
+ return pulumi.get(self, "project")
196
+
197
+ @project.setter
198
+ def project(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "project", value)
200
+
201
+
202
+ @pulumi.input_type
203
+ class _DataAccessScopeState:
204
+ def __init__(__self__, *,
205
+ allow_all: Optional[pulumi.Input[bool]] = None,
206
+ allowed_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]] = None,
207
+ author: Optional[pulumi.Input[str]] = None,
208
+ create_time: Optional[pulumi.Input[str]] = None,
209
+ data_access_scope_id: Optional[pulumi.Input[str]] = None,
210
+ denied_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]] = None,
211
+ description: Optional[pulumi.Input[str]] = None,
212
+ display_name: Optional[pulumi.Input[str]] = None,
213
+ instance: Optional[pulumi.Input[str]] = None,
214
+ last_editor: Optional[pulumi.Input[str]] = None,
215
+ location: Optional[pulumi.Input[str]] = None,
216
+ name: Optional[pulumi.Input[str]] = None,
217
+ project: Optional[pulumi.Input[str]] = None,
218
+ update_time: Optional[pulumi.Input[str]] = None):
219
+ """
220
+ Input properties used for looking up and filtering DataAccessScope resources.
221
+ :param pulumi.Input[bool] allow_all: Optional. Whether or not the scope allows all labels, allow_all and
222
+ allowed_data_access_labels are mutually exclusive and one of them must be
223
+ present. denied_data_access_labels can still be used along with allow_all.
224
+ When combined with denied_data_access_labels, access will be granted to all
225
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
226
+ A customer with scope with denied labels A and B and allow_all will be able
227
+ to see all data except data labeled with A and data labeled with B and data
228
+ with labels A and B.
229
+ :param pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]] allowed_data_access_labels: The allowed labels for the scope. There has to be at
230
+ least one label allowed for the scope to be valid.
231
+ The logical operator for evaluation of the allowed labels is OR.
232
+ Either allow_all or allowed_data_access_labels needs to be provided.
233
+ E.g.: A customer with scope with allowed labels A and B will be able
234
+ to see data with labeled with A or B or (A and B).
235
+ Structure is documented below.
236
+ :param pulumi.Input[str] author: Output only. The user who created the data access scope.
237
+ :param pulumi.Input[str] create_time: Output only. The time at which the data access scope was created.
238
+ :param pulumi.Input[str] data_access_scope_id: Required. The user provided scope id which will become the last part of the name
239
+ of the scope resource.
240
+ Needs to be compliant with https://google.aip.dev/122
241
+
242
+
243
+ - - -
244
+ :param pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]] denied_data_access_labels: Optional. The denied labels for the scope.
245
+ The logical operator for evaluation of the denied labels is AND.
246
+ E.g.: A customer with scope with denied labels A and B won't be able
247
+ to see data labeled with A and data labeled with B
248
+ and data with labels A and B.
249
+ Structure is documented below.
250
+ :param pulumi.Input[str] description: Optional. A description of the data access scope for a human reader.
251
+ :param pulumi.Input[str] display_name: Output only. The name to be used for display to customers of the data access scope.
252
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
253
+ :param pulumi.Input[str] last_editor: Output only. The user who last updated the data access scope.
254
+ :param pulumi.Input[str] location: The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
255
+ :param pulumi.Input[str] name: The unique full name of the data access scope. This unique identifier is generated using values provided for the URL parameters.
256
+ Format:
257
+ projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope_id}
258
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
259
+ If it is not provided, the provider project is used.
260
+ :param pulumi.Input[str] update_time: Output only. The time at which the data access scope was last updated.
261
+ """
262
+ if allow_all is not None:
263
+ pulumi.set(__self__, "allow_all", allow_all)
264
+ if allowed_data_access_labels is not None:
265
+ pulumi.set(__self__, "allowed_data_access_labels", allowed_data_access_labels)
266
+ if author is not None:
267
+ pulumi.set(__self__, "author", author)
268
+ if create_time is not None:
269
+ pulumi.set(__self__, "create_time", create_time)
270
+ if data_access_scope_id is not None:
271
+ pulumi.set(__self__, "data_access_scope_id", data_access_scope_id)
272
+ if denied_data_access_labels is not None:
273
+ pulumi.set(__self__, "denied_data_access_labels", denied_data_access_labels)
274
+ if description is not None:
275
+ pulumi.set(__self__, "description", description)
276
+ if display_name is not None:
277
+ pulumi.set(__self__, "display_name", display_name)
278
+ if instance is not None:
279
+ pulumi.set(__self__, "instance", instance)
280
+ if last_editor is not None:
281
+ pulumi.set(__self__, "last_editor", last_editor)
282
+ if location is not None:
283
+ pulumi.set(__self__, "location", location)
284
+ if name is not None:
285
+ pulumi.set(__self__, "name", name)
286
+ if project is not None:
287
+ pulumi.set(__self__, "project", project)
288
+ if update_time is not None:
289
+ pulumi.set(__self__, "update_time", update_time)
290
+
291
+ @property
292
+ @pulumi.getter(name="allowAll")
293
+ def allow_all(self) -> Optional[pulumi.Input[bool]]:
294
+ """
295
+ Optional. Whether or not the scope allows all labels, allow_all and
296
+ allowed_data_access_labels are mutually exclusive and one of them must be
297
+ present. denied_data_access_labels can still be used along with allow_all.
298
+ When combined with denied_data_access_labels, access will be granted to all
299
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
300
+ A customer with scope with denied labels A and B and allow_all will be able
301
+ to see all data except data labeled with A and data labeled with B and data
302
+ with labels A and B.
303
+ """
304
+ return pulumi.get(self, "allow_all")
305
+
306
+ @allow_all.setter
307
+ def allow_all(self, value: Optional[pulumi.Input[bool]]):
308
+ pulumi.set(self, "allow_all", value)
309
+
310
+ @property
311
+ @pulumi.getter(name="allowedDataAccessLabels")
312
+ def allowed_data_access_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]]:
313
+ """
314
+ The allowed labels for the scope. There has to be at
315
+ least one label allowed for the scope to be valid.
316
+ The logical operator for evaluation of the allowed labels is OR.
317
+ Either allow_all or allowed_data_access_labels needs to be provided.
318
+ E.g.: A customer with scope with allowed labels A and B will be able
319
+ to see data with labeled with A or B or (A and B).
320
+ Structure is documented below.
321
+ """
322
+ return pulumi.get(self, "allowed_data_access_labels")
323
+
324
+ @allowed_data_access_labels.setter
325
+ def allowed_data_access_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeAllowedDataAccessLabelArgs']]]]):
326
+ pulumi.set(self, "allowed_data_access_labels", value)
327
+
328
+ @property
329
+ @pulumi.getter
330
+ def author(self) -> Optional[pulumi.Input[str]]:
331
+ """
332
+ Output only. The user who created the data access scope.
333
+ """
334
+ return pulumi.get(self, "author")
335
+
336
+ @author.setter
337
+ def author(self, value: Optional[pulumi.Input[str]]):
338
+ pulumi.set(self, "author", value)
339
+
340
+ @property
341
+ @pulumi.getter(name="createTime")
342
+ def create_time(self) -> Optional[pulumi.Input[str]]:
343
+ """
344
+ Output only. The time at which the data access scope was created.
345
+ """
346
+ return pulumi.get(self, "create_time")
347
+
348
+ @create_time.setter
349
+ def create_time(self, value: Optional[pulumi.Input[str]]):
350
+ pulumi.set(self, "create_time", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="dataAccessScopeId")
354
+ def data_access_scope_id(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ Required. The user provided scope id which will become the last part of the name
357
+ of the scope resource.
358
+ Needs to be compliant with https://google.aip.dev/122
359
+
360
+
361
+ - - -
362
+ """
363
+ return pulumi.get(self, "data_access_scope_id")
364
+
365
+ @data_access_scope_id.setter
366
+ def data_access_scope_id(self, value: Optional[pulumi.Input[str]]):
367
+ pulumi.set(self, "data_access_scope_id", value)
368
+
369
+ @property
370
+ @pulumi.getter(name="deniedDataAccessLabels")
371
+ def denied_data_access_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]]:
372
+ """
373
+ Optional. The denied labels for the scope.
374
+ The logical operator for evaluation of the denied labels is AND.
375
+ E.g.: A customer with scope with denied labels A and B won't be able
376
+ to see data labeled with A and data labeled with B
377
+ and data with labels A and B.
378
+ Structure is documented below.
379
+ """
380
+ return pulumi.get(self, "denied_data_access_labels")
381
+
382
+ @denied_data_access_labels.setter
383
+ def denied_data_access_labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessScopeDeniedDataAccessLabelArgs']]]]):
384
+ pulumi.set(self, "denied_data_access_labels", value)
385
+
386
+ @property
387
+ @pulumi.getter
388
+ def description(self) -> Optional[pulumi.Input[str]]:
389
+ """
390
+ Optional. A description of the data access scope for a human reader.
391
+ """
392
+ return pulumi.get(self, "description")
393
+
394
+ @description.setter
395
+ def description(self, value: Optional[pulumi.Input[str]]):
396
+ pulumi.set(self, "description", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="displayName")
400
+ def display_name(self) -> Optional[pulumi.Input[str]]:
401
+ """
402
+ Output only. The name to be used for display to customers of the data access scope.
403
+ """
404
+ return pulumi.get(self, "display_name")
405
+
406
+ @display_name.setter
407
+ def display_name(self, value: Optional[pulumi.Input[str]]):
408
+ pulumi.set(self, "display_name", value)
409
+
410
+ @property
411
+ @pulumi.getter
412
+ def instance(self) -> Optional[pulumi.Input[str]]:
413
+ """
414
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
415
+ """
416
+ return pulumi.get(self, "instance")
417
+
418
+ @instance.setter
419
+ def instance(self, value: Optional[pulumi.Input[str]]):
420
+ pulumi.set(self, "instance", value)
421
+
422
+ @property
423
+ @pulumi.getter(name="lastEditor")
424
+ def last_editor(self) -> Optional[pulumi.Input[str]]:
425
+ """
426
+ Output only. The user who last updated the data access scope.
427
+ """
428
+ return pulumi.get(self, "last_editor")
429
+
430
+ @last_editor.setter
431
+ def last_editor(self, value: Optional[pulumi.Input[str]]):
432
+ pulumi.set(self, "last_editor", value)
433
+
434
+ @property
435
+ @pulumi.getter
436
+ def location(self) -> Optional[pulumi.Input[str]]:
437
+ """
438
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
439
+ """
440
+ return pulumi.get(self, "location")
441
+
442
+ @location.setter
443
+ def location(self, value: Optional[pulumi.Input[str]]):
444
+ pulumi.set(self, "location", value)
445
+
446
+ @property
447
+ @pulumi.getter
448
+ def name(self) -> Optional[pulumi.Input[str]]:
449
+ """
450
+ The unique full name of the data access scope. This unique identifier is generated using values provided for the URL parameters.
451
+ Format:
452
+ projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope_id}
453
+ """
454
+ return pulumi.get(self, "name")
455
+
456
+ @name.setter
457
+ def name(self, value: Optional[pulumi.Input[str]]):
458
+ pulumi.set(self, "name", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def project(self) -> Optional[pulumi.Input[str]]:
463
+ """
464
+ The ID of the project in which the resource belongs.
465
+ If it is not provided, the provider project is used.
466
+ """
467
+ return pulumi.get(self, "project")
468
+
469
+ @project.setter
470
+ def project(self, value: Optional[pulumi.Input[str]]):
471
+ pulumi.set(self, "project", value)
472
+
473
+ @property
474
+ @pulumi.getter(name="updateTime")
475
+ def update_time(self) -> Optional[pulumi.Input[str]]:
476
+ """
477
+ Output only. The time at which the data access scope was last updated.
478
+ """
479
+ return pulumi.get(self, "update_time")
480
+
481
+ @update_time.setter
482
+ def update_time(self, value: Optional[pulumi.Input[str]]):
483
+ pulumi.set(self, "update_time", value)
484
+
485
+
486
+ class DataAccessScope(pulumi.CustomResource):
487
+ @overload
488
+ def __init__(__self__,
489
+ resource_name: str,
490
+ opts: Optional[pulumi.ResourceOptions] = None,
491
+ allow_all: Optional[pulumi.Input[bool]] = None,
492
+ allowed_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeAllowedDataAccessLabelArgs', 'DataAccessScopeAllowedDataAccessLabelArgsDict']]]]] = None,
493
+ data_access_scope_id: Optional[pulumi.Input[str]] = None,
494
+ denied_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeDeniedDataAccessLabelArgs', 'DataAccessScopeDeniedDataAccessLabelArgsDict']]]]] = None,
495
+ description: Optional[pulumi.Input[str]] = None,
496
+ instance: Optional[pulumi.Input[str]] = None,
497
+ location: Optional[pulumi.Input[str]] = None,
498
+ project: Optional[pulumi.Input[str]] = None,
499
+ __props__=None):
500
+ """
501
+ ## Example Usage
502
+
503
+ ### Chronicle Dataaccessscope With Logtype
504
+
505
+ ```python
506
+ import pulumi
507
+ import pulumi_gcp as gcp
508
+
509
+ example = gcp.chronicle.DataAccessScope("example",
510
+ location="us",
511
+ instance="00000000-0000-0000-0000-000000000000",
512
+ data_access_scope_id="scope-id",
513
+ description="scope-description",
514
+ allowed_data_access_labels=[
515
+ {
516
+ "log_type": "GCP_CLOUDAUDIT",
517
+ },
518
+ {
519
+ "log_type": "GITHUB",
520
+ },
521
+ ])
522
+ ```
523
+ ### Chronicle Dataaccessscope With Dataaccesslabel
524
+
525
+ ```python
526
+ import pulumi
527
+ import pulumi_gcp as gcp
528
+
529
+ custom_data_access_label = gcp.chronicle.DataAccessLabel("custom_data_access_label",
530
+ location="us",
531
+ instance="00000000-0000-0000-0000-000000000000",
532
+ data_access_label_id="label-id",
533
+ udm_query="principal.hostname=\\"google.com\\"")
534
+ example = gcp.chronicle.DataAccessScope("example",
535
+ location="us",
536
+ instance="00000000-0000-0000-0000-000000000000",
537
+ data_access_scope_id="scope-id",
538
+ description="scope-description",
539
+ allowed_data_access_labels=[{
540
+ "data_access_label": google_chronicle_data_access_label["customDataAccessLabel"]["dataAccessLabelId"],
541
+ }])
542
+ ```
543
+ ### Chronicle Dataaccessscope With Asset Namespace
544
+
545
+ ```python
546
+ import pulumi
547
+ import pulumi_gcp as gcp
548
+
549
+ example = gcp.chronicle.DataAccessScope("example",
550
+ location="us",
551
+ instance="00000000-0000-0000-0000-000000000000",
552
+ data_access_scope_id="scope-id",
553
+ description="scope-description",
554
+ allowed_data_access_labels=[{
555
+ "asset_namespace": "my-namespace",
556
+ }])
557
+ ```
558
+ ### Chronicle Dataaccessscope With Ingestion Label
559
+
560
+ ```python
561
+ import pulumi
562
+ import pulumi_gcp as gcp
563
+
564
+ example = gcp.chronicle.DataAccessScope("example",
565
+ location="us",
566
+ instance="00000000-0000-0000-0000-000000000000",
567
+ data_access_scope_id="scope-id",
568
+ description="scope-description",
569
+ allowed_data_access_labels=[{
570
+ "ingestion_label": {
571
+ "ingestion_label_key": "ingestion_key",
572
+ "ingestion_label_value": "ingestion_value",
573
+ },
574
+ }])
575
+ ```
576
+ ### Chronicle Dataaccessscope With Denied Labels
577
+
578
+ ```python
579
+ import pulumi
580
+ import pulumi_gcp as gcp
581
+
582
+ custom_data_access_label = gcp.chronicle.DataAccessLabel("custom_data_access_label",
583
+ location="us",
584
+ instance="00000000-0000-0000-0000-000000000000",
585
+ data_access_label_id="label-id",
586
+ udm_query="principal.hostname=\\"google.com\\"")
587
+ example = gcp.chronicle.DataAccessScope("example",
588
+ location="us",
589
+ instance="00000000-0000-0000-0000-000000000000",
590
+ data_access_scope_id="scope-id",
591
+ description="scope-description",
592
+ allow_all=True,
593
+ denied_data_access_labels=[
594
+ {
595
+ "log_type": "GCP_CLOUDAUDIT",
596
+ },
597
+ {
598
+ "data_access_label": google_chronicle_data_access_label["customDataAccessLabel"]["dataAccessLabelId"],
599
+ },
600
+ {
601
+ "ingestion_label": {
602
+ "ingestion_label_key": "ingestion_key",
603
+ "ingestion_label_value": "ingestion_value",
604
+ },
605
+ },
606
+ {
607
+ "asset_namespace": "my-namespace",
608
+ },
609
+ ])
610
+ ```
611
+
612
+ ## Import
613
+
614
+ DataAccessScope can be imported using any of these accepted formats:
615
+
616
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataAccessScopes/{{data_access_scope_id}}`
617
+
618
+ * `{{project}}/{{location}}/{{instance}}/{{data_access_scope_id}}`
619
+
620
+ * `{{location}}/{{instance}}/{{data_access_scope_id}}`
621
+
622
+ When using the `pulumi import` command, DataAccessScope can be imported using one of the formats above. For example:
623
+
624
+ ```sh
625
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataAccessScopes/{{data_access_scope_id}}
626
+ ```
627
+
628
+ ```sh
629
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default {{project}}/{{location}}/{{instance}}/{{data_access_scope_id}}
630
+ ```
631
+
632
+ ```sh
633
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default {{location}}/{{instance}}/{{data_access_scope_id}}
634
+ ```
635
+
636
+ :param str resource_name: The name of the resource.
637
+ :param pulumi.ResourceOptions opts: Options for the resource.
638
+ :param pulumi.Input[bool] allow_all: Optional. Whether or not the scope allows all labels, allow_all and
639
+ allowed_data_access_labels are mutually exclusive and one of them must be
640
+ present. denied_data_access_labels can still be used along with allow_all.
641
+ When combined with denied_data_access_labels, access will be granted to all
642
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
643
+ A customer with scope with denied labels A and B and allow_all will be able
644
+ to see all data except data labeled with A and data labeled with B and data
645
+ with labels A and B.
646
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeAllowedDataAccessLabelArgs', 'DataAccessScopeAllowedDataAccessLabelArgsDict']]]] allowed_data_access_labels: The allowed labels for the scope. There has to be at
647
+ least one label allowed for the scope to be valid.
648
+ The logical operator for evaluation of the allowed labels is OR.
649
+ Either allow_all or allowed_data_access_labels needs to be provided.
650
+ E.g.: A customer with scope with allowed labels A and B will be able
651
+ to see data with labeled with A or B or (A and B).
652
+ Structure is documented below.
653
+ :param pulumi.Input[str] data_access_scope_id: Required. The user provided scope id which will become the last part of the name
654
+ of the scope resource.
655
+ Needs to be compliant with https://google.aip.dev/122
656
+
657
+
658
+ - - -
659
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeDeniedDataAccessLabelArgs', 'DataAccessScopeDeniedDataAccessLabelArgsDict']]]] denied_data_access_labels: Optional. The denied labels for the scope.
660
+ The logical operator for evaluation of the denied labels is AND.
661
+ E.g.: A customer with scope with denied labels A and B won't be able
662
+ to see data labeled with A and data labeled with B
663
+ and data with labels A and B.
664
+ Structure is documented below.
665
+ :param pulumi.Input[str] description: Optional. A description of the data access scope for a human reader.
666
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
667
+ :param pulumi.Input[str] location: The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
668
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
669
+ If it is not provided, the provider project is used.
670
+ """
671
+ ...
672
+ @overload
673
+ def __init__(__self__,
674
+ resource_name: str,
675
+ args: DataAccessScopeArgs,
676
+ opts: Optional[pulumi.ResourceOptions] = None):
677
+ """
678
+ ## Example Usage
679
+
680
+ ### Chronicle Dataaccessscope With Logtype
681
+
682
+ ```python
683
+ import pulumi
684
+ import pulumi_gcp as gcp
685
+
686
+ example = gcp.chronicle.DataAccessScope("example",
687
+ location="us",
688
+ instance="00000000-0000-0000-0000-000000000000",
689
+ data_access_scope_id="scope-id",
690
+ description="scope-description",
691
+ allowed_data_access_labels=[
692
+ {
693
+ "log_type": "GCP_CLOUDAUDIT",
694
+ },
695
+ {
696
+ "log_type": "GITHUB",
697
+ },
698
+ ])
699
+ ```
700
+ ### Chronicle Dataaccessscope With Dataaccesslabel
701
+
702
+ ```python
703
+ import pulumi
704
+ import pulumi_gcp as gcp
705
+
706
+ custom_data_access_label = gcp.chronicle.DataAccessLabel("custom_data_access_label",
707
+ location="us",
708
+ instance="00000000-0000-0000-0000-000000000000",
709
+ data_access_label_id="label-id",
710
+ udm_query="principal.hostname=\\"google.com\\"")
711
+ example = gcp.chronicle.DataAccessScope("example",
712
+ location="us",
713
+ instance="00000000-0000-0000-0000-000000000000",
714
+ data_access_scope_id="scope-id",
715
+ description="scope-description",
716
+ allowed_data_access_labels=[{
717
+ "data_access_label": google_chronicle_data_access_label["customDataAccessLabel"]["dataAccessLabelId"],
718
+ }])
719
+ ```
720
+ ### Chronicle Dataaccessscope With Asset Namespace
721
+
722
+ ```python
723
+ import pulumi
724
+ import pulumi_gcp as gcp
725
+
726
+ example = gcp.chronicle.DataAccessScope("example",
727
+ location="us",
728
+ instance="00000000-0000-0000-0000-000000000000",
729
+ data_access_scope_id="scope-id",
730
+ description="scope-description",
731
+ allowed_data_access_labels=[{
732
+ "asset_namespace": "my-namespace",
733
+ }])
734
+ ```
735
+ ### Chronicle Dataaccessscope With Ingestion Label
736
+
737
+ ```python
738
+ import pulumi
739
+ import pulumi_gcp as gcp
740
+
741
+ example = gcp.chronicle.DataAccessScope("example",
742
+ location="us",
743
+ instance="00000000-0000-0000-0000-000000000000",
744
+ data_access_scope_id="scope-id",
745
+ description="scope-description",
746
+ allowed_data_access_labels=[{
747
+ "ingestion_label": {
748
+ "ingestion_label_key": "ingestion_key",
749
+ "ingestion_label_value": "ingestion_value",
750
+ },
751
+ }])
752
+ ```
753
+ ### Chronicle Dataaccessscope With Denied Labels
754
+
755
+ ```python
756
+ import pulumi
757
+ import pulumi_gcp as gcp
758
+
759
+ custom_data_access_label = gcp.chronicle.DataAccessLabel("custom_data_access_label",
760
+ location="us",
761
+ instance="00000000-0000-0000-0000-000000000000",
762
+ data_access_label_id="label-id",
763
+ udm_query="principal.hostname=\\"google.com\\"")
764
+ example = gcp.chronicle.DataAccessScope("example",
765
+ location="us",
766
+ instance="00000000-0000-0000-0000-000000000000",
767
+ data_access_scope_id="scope-id",
768
+ description="scope-description",
769
+ allow_all=True,
770
+ denied_data_access_labels=[
771
+ {
772
+ "log_type": "GCP_CLOUDAUDIT",
773
+ },
774
+ {
775
+ "data_access_label": google_chronicle_data_access_label["customDataAccessLabel"]["dataAccessLabelId"],
776
+ },
777
+ {
778
+ "ingestion_label": {
779
+ "ingestion_label_key": "ingestion_key",
780
+ "ingestion_label_value": "ingestion_value",
781
+ },
782
+ },
783
+ {
784
+ "asset_namespace": "my-namespace",
785
+ },
786
+ ])
787
+ ```
788
+
789
+ ## Import
790
+
791
+ DataAccessScope can be imported using any of these accepted formats:
792
+
793
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataAccessScopes/{{data_access_scope_id}}`
794
+
795
+ * `{{project}}/{{location}}/{{instance}}/{{data_access_scope_id}}`
796
+
797
+ * `{{location}}/{{instance}}/{{data_access_scope_id}}`
798
+
799
+ When using the `pulumi import` command, DataAccessScope can be imported using one of the formats above. For example:
800
+
801
+ ```sh
802
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default projects/{{project}}/locations/{{location}}/instances/{{instance}}/dataAccessScopes/{{data_access_scope_id}}
803
+ ```
804
+
805
+ ```sh
806
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default {{project}}/{{location}}/{{instance}}/{{data_access_scope_id}}
807
+ ```
808
+
809
+ ```sh
810
+ $ pulumi import gcp:chronicle/dataAccessScope:DataAccessScope default {{location}}/{{instance}}/{{data_access_scope_id}}
811
+ ```
812
+
813
+ :param str resource_name: The name of the resource.
814
+ :param DataAccessScopeArgs args: The arguments to use to populate this resource's properties.
815
+ :param pulumi.ResourceOptions opts: Options for the resource.
816
+ """
817
+ ...
818
+ def __init__(__self__, resource_name: str, *args, **kwargs):
819
+ resource_args, opts = _utilities.get_resource_args_opts(DataAccessScopeArgs, pulumi.ResourceOptions, *args, **kwargs)
820
+ if resource_args is not None:
821
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
822
+ else:
823
+ __self__._internal_init(resource_name, *args, **kwargs)
824
+
825
+ def _internal_init(__self__,
826
+ resource_name: str,
827
+ opts: Optional[pulumi.ResourceOptions] = None,
828
+ allow_all: Optional[pulumi.Input[bool]] = None,
829
+ allowed_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeAllowedDataAccessLabelArgs', 'DataAccessScopeAllowedDataAccessLabelArgsDict']]]]] = None,
830
+ data_access_scope_id: Optional[pulumi.Input[str]] = None,
831
+ denied_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeDeniedDataAccessLabelArgs', 'DataAccessScopeDeniedDataAccessLabelArgsDict']]]]] = None,
832
+ description: Optional[pulumi.Input[str]] = None,
833
+ instance: Optional[pulumi.Input[str]] = None,
834
+ location: Optional[pulumi.Input[str]] = None,
835
+ project: Optional[pulumi.Input[str]] = None,
836
+ __props__=None):
837
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
838
+ if not isinstance(opts, pulumi.ResourceOptions):
839
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
840
+ if opts.id is None:
841
+ if __props__ is not None:
842
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
843
+ __props__ = DataAccessScopeArgs.__new__(DataAccessScopeArgs)
844
+
845
+ __props__.__dict__["allow_all"] = allow_all
846
+ __props__.__dict__["allowed_data_access_labels"] = allowed_data_access_labels
847
+ if data_access_scope_id is None and not opts.urn:
848
+ raise TypeError("Missing required property 'data_access_scope_id'")
849
+ __props__.__dict__["data_access_scope_id"] = data_access_scope_id
850
+ __props__.__dict__["denied_data_access_labels"] = denied_data_access_labels
851
+ __props__.__dict__["description"] = description
852
+ if instance is None and not opts.urn:
853
+ raise TypeError("Missing required property 'instance'")
854
+ __props__.__dict__["instance"] = instance
855
+ if location is None and not opts.urn:
856
+ raise TypeError("Missing required property 'location'")
857
+ __props__.__dict__["location"] = location
858
+ __props__.__dict__["project"] = project
859
+ __props__.__dict__["author"] = None
860
+ __props__.__dict__["create_time"] = None
861
+ __props__.__dict__["display_name"] = None
862
+ __props__.__dict__["last_editor"] = None
863
+ __props__.__dict__["name"] = None
864
+ __props__.__dict__["update_time"] = None
865
+ super(DataAccessScope, __self__).__init__(
866
+ 'gcp:chronicle/dataAccessScope:DataAccessScope',
867
+ resource_name,
868
+ __props__,
869
+ opts)
870
+
871
+ @staticmethod
872
+ def get(resource_name: str,
873
+ id: pulumi.Input[str],
874
+ opts: Optional[pulumi.ResourceOptions] = None,
875
+ allow_all: Optional[pulumi.Input[bool]] = None,
876
+ allowed_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeAllowedDataAccessLabelArgs', 'DataAccessScopeAllowedDataAccessLabelArgsDict']]]]] = None,
877
+ author: Optional[pulumi.Input[str]] = None,
878
+ create_time: Optional[pulumi.Input[str]] = None,
879
+ data_access_scope_id: Optional[pulumi.Input[str]] = None,
880
+ denied_data_access_labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeDeniedDataAccessLabelArgs', 'DataAccessScopeDeniedDataAccessLabelArgsDict']]]]] = None,
881
+ description: Optional[pulumi.Input[str]] = None,
882
+ display_name: Optional[pulumi.Input[str]] = None,
883
+ instance: Optional[pulumi.Input[str]] = None,
884
+ last_editor: Optional[pulumi.Input[str]] = None,
885
+ location: Optional[pulumi.Input[str]] = None,
886
+ name: Optional[pulumi.Input[str]] = None,
887
+ project: Optional[pulumi.Input[str]] = None,
888
+ update_time: Optional[pulumi.Input[str]] = None) -> 'DataAccessScope':
889
+ """
890
+ Get an existing DataAccessScope resource's state with the given name, id, and optional extra
891
+ properties used to qualify the lookup.
892
+
893
+ :param str resource_name: The unique name of the resulting resource.
894
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
895
+ :param pulumi.ResourceOptions opts: Options for the resource.
896
+ :param pulumi.Input[bool] allow_all: Optional. Whether or not the scope allows all labels, allow_all and
897
+ allowed_data_access_labels are mutually exclusive and one of them must be
898
+ present. denied_data_access_labels can still be used along with allow_all.
899
+ When combined with denied_data_access_labels, access will be granted to all
900
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
901
+ A customer with scope with denied labels A and B and allow_all will be able
902
+ to see all data except data labeled with A and data labeled with B and data
903
+ with labels A and B.
904
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeAllowedDataAccessLabelArgs', 'DataAccessScopeAllowedDataAccessLabelArgsDict']]]] allowed_data_access_labels: The allowed labels for the scope. There has to be at
905
+ least one label allowed for the scope to be valid.
906
+ The logical operator for evaluation of the allowed labels is OR.
907
+ Either allow_all or allowed_data_access_labels needs to be provided.
908
+ E.g.: A customer with scope with allowed labels A and B will be able
909
+ to see data with labeled with A or B or (A and B).
910
+ Structure is documented below.
911
+ :param pulumi.Input[str] author: Output only. The user who created the data access scope.
912
+ :param pulumi.Input[str] create_time: Output only. The time at which the data access scope was created.
913
+ :param pulumi.Input[str] data_access_scope_id: Required. The user provided scope id which will become the last part of the name
914
+ of the scope resource.
915
+ Needs to be compliant with https://google.aip.dev/122
916
+
917
+
918
+ - - -
919
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataAccessScopeDeniedDataAccessLabelArgs', 'DataAccessScopeDeniedDataAccessLabelArgsDict']]]] denied_data_access_labels: Optional. The denied labels for the scope.
920
+ The logical operator for evaluation of the denied labels is AND.
921
+ E.g.: A customer with scope with denied labels A and B won't be able
922
+ to see data labeled with A and data labeled with B
923
+ and data with labels A and B.
924
+ Structure is documented below.
925
+ :param pulumi.Input[str] description: Optional. A description of the data access scope for a human reader.
926
+ :param pulumi.Input[str] display_name: Output only. The name to be used for display to customers of the data access scope.
927
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
928
+ :param pulumi.Input[str] last_editor: Output only. The user who last updated the data access scope.
929
+ :param pulumi.Input[str] location: The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
930
+ :param pulumi.Input[str] name: The unique full name of the data access scope. This unique identifier is generated using values provided for the URL parameters.
931
+ Format:
932
+ projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope_id}
933
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
934
+ If it is not provided, the provider project is used.
935
+ :param pulumi.Input[str] update_time: Output only. The time at which the data access scope was last updated.
936
+ """
937
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
938
+
939
+ __props__ = _DataAccessScopeState.__new__(_DataAccessScopeState)
940
+
941
+ __props__.__dict__["allow_all"] = allow_all
942
+ __props__.__dict__["allowed_data_access_labels"] = allowed_data_access_labels
943
+ __props__.__dict__["author"] = author
944
+ __props__.__dict__["create_time"] = create_time
945
+ __props__.__dict__["data_access_scope_id"] = data_access_scope_id
946
+ __props__.__dict__["denied_data_access_labels"] = denied_data_access_labels
947
+ __props__.__dict__["description"] = description
948
+ __props__.__dict__["display_name"] = display_name
949
+ __props__.__dict__["instance"] = instance
950
+ __props__.__dict__["last_editor"] = last_editor
951
+ __props__.__dict__["location"] = location
952
+ __props__.__dict__["name"] = name
953
+ __props__.__dict__["project"] = project
954
+ __props__.__dict__["update_time"] = update_time
955
+ return DataAccessScope(resource_name, opts=opts, __props__=__props__)
956
+
957
+ @property
958
+ @pulumi.getter(name="allowAll")
959
+ def allow_all(self) -> pulumi.Output[Optional[bool]]:
960
+ """
961
+ Optional. Whether or not the scope allows all labels, allow_all and
962
+ allowed_data_access_labels are mutually exclusive and one of them must be
963
+ present. denied_data_access_labels can still be used along with allow_all.
964
+ When combined with denied_data_access_labels, access will be granted to all
965
+ data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
966
+ A customer with scope with denied labels A and B and allow_all will be able
967
+ to see all data except data labeled with A and data labeled with B and data
968
+ with labels A and B.
969
+ """
970
+ return pulumi.get(self, "allow_all")
971
+
972
+ @property
973
+ @pulumi.getter(name="allowedDataAccessLabels")
974
+ def allowed_data_access_labels(self) -> pulumi.Output[Optional[Sequence['outputs.DataAccessScopeAllowedDataAccessLabel']]]:
975
+ """
976
+ The allowed labels for the scope. There has to be at
977
+ least one label allowed for the scope to be valid.
978
+ The logical operator for evaluation of the allowed labels is OR.
979
+ Either allow_all or allowed_data_access_labels needs to be provided.
980
+ E.g.: A customer with scope with allowed labels A and B will be able
981
+ to see data with labeled with A or B or (A and B).
982
+ Structure is documented below.
983
+ """
984
+ return pulumi.get(self, "allowed_data_access_labels")
985
+
986
+ @property
987
+ @pulumi.getter
988
+ def author(self) -> pulumi.Output[str]:
989
+ """
990
+ Output only. The user who created the data access scope.
991
+ """
992
+ return pulumi.get(self, "author")
993
+
994
+ @property
995
+ @pulumi.getter(name="createTime")
996
+ def create_time(self) -> pulumi.Output[str]:
997
+ """
998
+ Output only. The time at which the data access scope was created.
999
+ """
1000
+ return pulumi.get(self, "create_time")
1001
+
1002
+ @property
1003
+ @pulumi.getter(name="dataAccessScopeId")
1004
+ def data_access_scope_id(self) -> pulumi.Output[str]:
1005
+ """
1006
+ Required. The user provided scope id which will become the last part of the name
1007
+ of the scope resource.
1008
+ Needs to be compliant with https://google.aip.dev/122
1009
+
1010
+
1011
+ - - -
1012
+ """
1013
+ return pulumi.get(self, "data_access_scope_id")
1014
+
1015
+ @property
1016
+ @pulumi.getter(name="deniedDataAccessLabels")
1017
+ def denied_data_access_labels(self) -> pulumi.Output[Optional[Sequence['outputs.DataAccessScopeDeniedDataAccessLabel']]]:
1018
+ """
1019
+ Optional. The denied labels for the scope.
1020
+ The logical operator for evaluation of the denied labels is AND.
1021
+ E.g.: A customer with scope with denied labels A and B won't be able
1022
+ to see data labeled with A and data labeled with B
1023
+ and data with labels A and B.
1024
+ Structure is documented below.
1025
+ """
1026
+ return pulumi.get(self, "denied_data_access_labels")
1027
+
1028
+ @property
1029
+ @pulumi.getter
1030
+ def description(self) -> pulumi.Output[Optional[str]]:
1031
+ """
1032
+ Optional. A description of the data access scope for a human reader.
1033
+ """
1034
+ return pulumi.get(self, "description")
1035
+
1036
+ @property
1037
+ @pulumi.getter(name="displayName")
1038
+ def display_name(self) -> pulumi.Output[str]:
1039
+ """
1040
+ Output only. The name to be used for display to customers of the data access scope.
1041
+ """
1042
+ return pulumi.get(self, "display_name")
1043
+
1044
+ @property
1045
+ @pulumi.getter
1046
+ def instance(self) -> pulumi.Output[str]:
1047
+ """
1048
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
1049
+ """
1050
+ return pulumi.get(self, "instance")
1051
+
1052
+ @property
1053
+ @pulumi.getter(name="lastEditor")
1054
+ def last_editor(self) -> pulumi.Output[str]:
1055
+ """
1056
+ Output only. The user who last updated the data access scope.
1057
+ """
1058
+ return pulumi.get(self, "last_editor")
1059
+
1060
+ @property
1061
+ @pulumi.getter
1062
+ def location(self) -> pulumi.Output[str]:
1063
+ """
1064
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
1065
+ """
1066
+ return pulumi.get(self, "location")
1067
+
1068
+ @property
1069
+ @pulumi.getter
1070
+ def name(self) -> pulumi.Output[str]:
1071
+ """
1072
+ The unique full name of the data access scope. This unique identifier is generated using values provided for the URL parameters.
1073
+ Format:
1074
+ projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope_id}
1075
+ """
1076
+ return pulumi.get(self, "name")
1077
+
1078
+ @property
1079
+ @pulumi.getter
1080
+ def project(self) -> pulumi.Output[str]:
1081
+ """
1082
+ The ID of the project in which the resource belongs.
1083
+ If it is not provided, the provider project is used.
1084
+ """
1085
+ return pulumi.get(self, "project")
1086
+
1087
+ @property
1088
+ @pulumi.getter(name="updateTime")
1089
+ def update_time(self) -> pulumi.Output[str]:
1090
+ """
1091
+ Output only. The time at which the data access scope was last updated.
1092
+ """
1093
+ return pulumi.get(self, "update_time")
1094
+