pulumi-gcp 8.15.0a1737095291__py3-none-any.whl → 8.15.0a1737577694__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +78 -0
- pulumi_gcp/accesscontextmanager/access_level_condition.py +28 -0
- pulumi_gcp/accesscontextmanager/egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +28 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +56 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/environment_addons_config.py +266 -0
- pulumi_gcp/artifactregistry/repository.py +32 -2
- pulumi_gcp/bigquery/connection.py +2 -2
- pulumi_gcp/bigquery/routine.py +2 -2
- pulumi_gcp/billing/project_info.py +4 -4
- pulumi_gcp/chronicle/__init__.py +3 -0
- pulumi_gcp/chronicle/_inputs.py +379 -0
- pulumi_gcp/chronicle/data_access_label.py +21 -21
- pulumi_gcp/chronicle/outputs.py +302 -0
- pulumi_gcp/chronicle/reference_list.py +788 -0
- pulumi_gcp/chronicle/rule.py +1308 -0
- pulumi_gcp/chronicle/rule_deployment.py +849 -0
- pulumi_gcp/colab/__init__.py +10 -0
- pulumi_gcp/colab/_inputs.py +359 -0
- pulumi_gcp/colab/outputs.py +344 -0
- pulumi_gcp/colab/runtime_template.py +1160 -0
- pulumi_gcp/compute/_inputs.py +9 -9
- pulumi_gcp/compute/interconnect_attachment.py +7 -7
- pulumi_gcp/compute/outputs.py +6 -6
- pulumi_gcp/compute/route.py +8 -16
- pulumi_gcp/compute/subnetwork.py +7 -7
- pulumi_gcp/compute/target_instance.py +4 -4
- pulumi_gcp/compute/url_map.py +4 -0
- pulumi_gcp/config/__init__.pyi +6 -0
- pulumi_gcp/config/vars.py +12 -0
- pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
- pulumi_gcp/dataplex/entry_type.py +2 -2
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/batch.py +10 -10
- pulumi_gcp/discoveryengine/_inputs.py +54 -0
- pulumi_gcp/discoveryengine/data_store.py +94 -0
- pulumi_gcp/discoveryengine/outputs.py +51 -0
- pulumi_gcp/edgenetwork/__init__.py +1 -0
- pulumi_gcp/edgenetwork/interconnect_attachment.py +941 -0
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gemini/code_repository_index.py +47 -0
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/networksecurity/authz_policy.py +0 -202
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parametermanager/__init__.py +13 -0
- pulumi_gcp/parametermanager/_inputs.py +174 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +230 -0
- pulumi_gcp/parametermanager/outputs.py +191 -0
- pulumi_gcp/parametermanager/parameter.py +706 -0
- pulumi_gcp/parametermanager/regional_parameter.py +762 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +558 -0
- pulumi_gcp/provider.py +60 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/sql/_inputs.py +54 -0
- pulumi_gcp/sql/database_instance.py +78 -16
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +122 -0
- pulumi_gcp/sql/source_representation_instance.py +7 -14
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/RECORD +77 -61
- {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.15.0a1737095291.dist-info → pulumi_gcp-8.15.0a1737577694.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1308 @@
|
|
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__ = ['RuleArgs', 'Rule']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class RuleArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
instance: pulumi.Input[str],
|
25
|
+
location: pulumi.Input[str],
|
26
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
27
|
+
etag: Optional[pulumi.Input[str]] = None,
|
28
|
+
project: Optional[pulumi.Input[str]] = None,
|
29
|
+
rule_id: Optional[pulumi.Input[str]] = None,
|
30
|
+
scope: Optional[pulumi.Input[str]] = None,
|
31
|
+
text: Optional[pulumi.Input[str]] = None):
|
32
|
+
"""
|
33
|
+
The set of arguments for constructing a Rule resource.
|
34
|
+
:param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
35
|
+
|
36
|
+
|
37
|
+
- - -
|
38
|
+
: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".
|
39
|
+
:param pulumi.Input[str] deletion_policy: Policy to determine if the rule should be deleted forcefully.
|
40
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
41
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
42
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
43
|
+
associated detections. Regardless of this field's value, the rule
|
44
|
+
deployment associated with this rule will also be deleted.
|
45
|
+
Possible values: DEFAULT, FORCE
|
46
|
+
:param pulumi.Input[str] etag: The etag for this rule.
|
47
|
+
If this is provided on update, the request will succeed if and only if it
|
48
|
+
matches the server-computed value, and will fail with an ABORTED error
|
49
|
+
otherwise.
|
50
|
+
Populated in BASIC view and FULL view.
|
51
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
52
|
+
If it is not provided, the provider project is used.
|
53
|
+
:param pulumi.Input[str] rule_id: Rule Id is the ID of the Rule.
|
54
|
+
:param pulumi.Input[str] scope: Resource name of the DataAccessScope bound to this rule.
|
55
|
+
Populated in BASIC view and FULL view.
|
56
|
+
If reference lists are used in the rule, validations will be performed
|
57
|
+
against this scope to ensure that the reference lists are compatible with
|
58
|
+
both the user's and the rule's scopes.
|
59
|
+
The scope should be in the format:
|
60
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
61
|
+
:param pulumi.Input[str] text: The YARA-L content of the rule.
|
62
|
+
Populated in FULL view.
|
63
|
+
"""
|
64
|
+
pulumi.set(__self__, "instance", instance)
|
65
|
+
pulumi.set(__self__, "location", location)
|
66
|
+
if deletion_policy is not None:
|
67
|
+
pulumi.set(__self__, "deletion_policy", deletion_policy)
|
68
|
+
if etag is not None:
|
69
|
+
pulumi.set(__self__, "etag", etag)
|
70
|
+
if project is not None:
|
71
|
+
pulumi.set(__self__, "project", project)
|
72
|
+
if rule_id is not None:
|
73
|
+
pulumi.set(__self__, "rule_id", rule_id)
|
74
|
+
if scope is not None:
|
75
|
+
pulumi.set(__self__, "scope", scope)
|
76
|
+
if text is not None:
|
77
|
+
pulumi.set(__self__, "text", text)
|
78
|
+
|
79
|
+
@property
|
80
|
+
@pulumi.getter
|
81
|
+
def instance(self) -> pulumi.Input[str]:
|
82
|
+
"""
|
83
|
+
The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
84
|
+
|
85
|
+
|
86
|
+
- - -
|
87
|
+
"""
|
88
|
+
return pulumi.get(self, "instance")
|
89
|
+
|
90
|
+
@instance.setter
|
91
|
+
def instance(self, value: pulumi.Input[str]):
|
92
|
+
pulumi.set(self, "instance", value)
|
93
|
+
|
94
|
+
@property
|
95
|
+
@pulumi.getter
|
96
|
+
def location(self) -> pulumi.Input[str]:
|
97
|
+
"""
|
98
|
+
The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
|
99
|
+
"""
|
100
|
+
return pulumi.get(self, "location")
|
101
|
+
|
102
|
+
@location.setter
|
103
|
+
def location(self, value: pulumi.Input[str]):
|
104
|
+
pulumi.set(self, "location", value)
|
105
|
+
|
106
|
+
@property
|
107
|
+
@pulumi.getter(name="deletionPolicy")
|
108
|
+
def deletion_policy(self) -> Optional[pulumi.Input[str]]:
|
109
|
+
"""
|
110
|
+
Policy to determine if the rule should be deleted forcefully.
|
111
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
112
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
113
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
114
|
+
associated detections. Regardless of this field's value, the rule
|
115
|
+
deployment associated with this rule will also be deleted.
|
116
|
+
Possible values: DEFAULT, FORCE
|
117
|
+
"""
|
118
|
+
return pulumi.get(self, "deletion_policy")
|
119
|
+
|
120
|
+
@deletion_policy.setter
|
121
|
+
def deletion_policy(self, value: Optional[pulumi.Input[str]]):
|
122
|
+
pulumi.set(self, "deletion_policy", value)
|
123
|
+
|
124
|
+
@property
|
125
|
+
@pulumi.getter
|
126
|
+
def etag(self) -> Optional[pulumi.Input[str]]:
|
127
|
+
"""
|
128
|
+
The etag for this rule.
|
129
|
+
If this is provided on update, the request will succeed if and only if it
|
130
|
+
matches the server-computed value, and will fail with an ABORTED error
|
131
|
+
otherwise.
|
132
|
+
Populated in BASIC view and FULL view.
|
133
|
+
"""
|
134
|
+
return pulumi.get(self, "etag")
|
135
|
+
|
136
|
+
@etag.setter
|
137
|
+
def etag(self, value: Optional[pulumi.Input[str]]):
|
138
|
+
pulumi.set(self, "etag", value)
|
139
|
+
|
140
|
+
@property
|
141
|
+
@pulumi.getter
|
142
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
143
|
+
"""
|
144
|
+
The ID of the project in which the resource belongs.
|
145
|
+
If it is not provided, the provider project is used.
|
146
|
+
"""
|
147
|
+
return pulumi.get(self, "project")
|
148
|
+
|
149
|
+
@project.setter
|
150
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
151
|
+
pulumi.set(self, "project", value)
|
152
|
+
|
153
|
+
@property
|
154
|
+
@pulumi.getter(name="ruleId")
|
155
|
+
def rule_id(self) -> Optional[pulumi.Input[str]]:
|
156
|
+
"""
|
157
|
+
Rule Id is the ID of the Rule.
|
158
|
+
"""
|
159
|
+
return pulumi.get(self, "rule_id")
|
160
|
+
|
161
|
+
@rule_id.setter
|
162
|
+
def rule_id(self, value: Optional[pulumi.Input[str]]):
|
163
|
+
pulumi.set(self, "rule_id", value)
|
164
|
+
|
165
|
+
@property
|
166
|
+
@pulumi.getter
|
167
|
+
def scope(self) -> Optional[pulumi.Input[str]]:
|
168
|
+
"""
|
169
|
+
Resource name of the DataAccessScope bound to this rule.
|
170
|
+
Populated in BASIC view and FULL view.
|
171
|
+
If reference lists are used in the rule, validations will be performed
|
172
|
+
against this scope to ensure that the reference lists are compatible with
|
173
|
+
both the user's and the rule's scopes.
|
174
|
+
The scope should be in the format:
|
175
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "scope")
|
178
|
+
|
179
|
+
@scope.setter
|
180
|
+
def scope(self, value: Optional[pulumi.Input[str]]):
|
181
|
+
pulumi.set(self, "scope", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter
|
185
|
+
def text(self) -> Optional[pulumi.Input[str]]:
|
186
|
+
"""
|
187
|
+
The YARA-L content of the rule.
|
188
|
+
Populated in FULL view.
|
189
|
+
"""
|
190
|
+
return pulumi.get(self, "text")
|
191
|
+
|
192
|
+
@text.setter
|
193
|
+
def text(self, value: Optional[pulumi.Input[str]]):
|
194
|
+
pulumi.set(self, "text", value)
|
195
|
+
|
196
|
+
|
197
|
+
@pulumi.input_type
|
198
|
+
class _RuleState:
|
199
|
+
def __init__(__self__, *,
|
200
|
+
allowed_run_frequencies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
201
|
+
author: Optional[pulumi.Input[str]] = None,
|
202
|
+
compilation_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input['RuleCompilationDiagnosticArgs']]]] = None,
|
203
|
+
compilation_state: Optional[pulumi.Input[str]] = None,
|
204
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
205
|
+
data_tables: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
206
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
207
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
208
|
+
etag: Optional[pulumi.Input[str]] = None,
|
209
|
+
instance: Optional[pulumi.Input[str]] = None,
|
210
|
+
location: Optional[pulumi.Input[str]] = None,
|
211
|
+
metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
212
|
+
name: Optional[pulumi.Input[str]] = None,
|
213
|
+
near_real_time_live_rule_eligible: Optional[pulumi.Input[bool]] = None,
|
214
|
+
project: Optional[pulumi.Input[str]] = None,
|
215
|
+
reference_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
216
|
+
revision_create_time: Optional[pulumi.Input[str]] = None,
|
217
|
+
revision_id: Optional[pulumi.Input[str]] = None,
|
218
|
+
rule_id: Optional[pulumi.Input[str]] = None,
|
219
|
+
scope: Optional[pulumi.Input[str]] = None,
|
220
|
+
severities: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSeverityArgs']]]] = None,
|
221
|
+
text: Optional[pulumi.Input[str]] = None,
|
222
|
+
type: Optional[pulumi.Input[str]] = None):
|
223
|
+
"""
|
224
|
+
Input properties used for looking up and filtering Rule resources.
|
225
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_run_frequencies: Output only. The run frequencies that are allowed for the rule.
|
226
|
+
Populated in BASIC view and FULL view.
|
227
|
+
:param pulumi.Input[str] author: Output only. The author of the rule. Extracted from the meta section of text.
|
228
|
+
Populated in BASIC view and FULL view.
|
229
|
+
:param pulumi.Input[Sequence[pulumi.Input['RuleCompilationDiagnosticArgs']]] compilation_diagnostics: Output only. A list of a rule's corresponding compilation diagnostic messages
|
230
|
+
such as compilation errors and compilation warnings.
|
231
|
+
Populated in FULL view.
|
232
|
+
Structure is documented below.
|
233
|
+
:param pulumi.Input[str] compilation_state: Output only. The current compilation state of the rule.
|
234
|
+
Populated in FULL view.
|
235
|
+
Possible values:
|
236
|
+
COMPILATION_STATE_UNSPECIFIED
|
237
|
+
SUCCEEDED
|
238
|
+
FAILED
|
239
|
+
:param pulumi.Input[str] create_time: Output only. The timestamp of when the rule was created.
|
240
|
+
Populated in FULL view.
|
241
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] data_tables: Output only. Resource names of the data tables used in this rule.
|
242
|
+
:param pulumi.Input[str] deletion_policy: Policy to determine if the rule should be deleted forcefully.
|
243
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
244
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
245
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
246
|
+
associated detections. Regardless of this field's value, the rule
|
247
|
+
deployment associated with this rule will also be deleted.
|
248
|
+
Possible values: DEFAULT, FORCE
|
249
|
+
:param pulumi.Input[str] display_name: The display name of the severity level. Extracted from the meta section of
|
250
|
+
the rule text.
|
251
|
+
:param pulumi.Input[str] etag: The etag for this rule.
|
252
|
+
If this is provided on update, the request will succeed if and only if it
|
253
|
+
matches the server-computed value, and will fail with an ABORTED error
|
254
|
+
otherwise.
|
255
|
+
Populated in BASIC view and FULL view.
|
256
|
+
:param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
257
|
+
|
258
|
+
|
259
|
+
- - -
|
260
|
+
: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".
|
261
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Output only. Additional metadata specified in the meta section of text.
|
262
|
+
Populated in FULL view.
|
263
|
+
:param pulumi.Input[str] name: Full resource name for the rule. This unique identifier is generated using values provided for the URL parameters.
|
264
|
+
Format:
|
265
|
+
projects/{project}/locations/{location}/instances/{instance}/rules/{rule}
|
266
|
+
:param pulumi.Input[bool] near_real_time_live_rule_eligible: Output only. Indicate the rule can run in near real time live rule.
|
267
|
+
If this is true, the rule uses the near real time live rule when the run
|
268
|
+
frequency is set to LIVE.
|
269
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
270
|
+
If it is not provided, the provider project is used.
|
271
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] reference_lists: Output only. Resource names of the reference lists used in this rule.
|
272
|
+
Populated in FULL view.
|
273
|
+
:param pulumi.Input[str] revision_create_time: Output only. The timestamp of when the rule revision was created.
|
274
|
+
Populated in FULL, REVISION_METADATA_ONLY views.
|
275
|
+
:param pulumi.Input[str] revision_id: Output only. The revision ID of the rule.
|
276
|
+
A new revision is created whenever the rule text is changed in any way.
|
277
|
+
Format: v_{10 digits}_{9 digits}
|
278
|
+
Populated in REVISION_METADATA_ONLY view and FULL view.
|
279
|
+
:param pulumi.Input[str] rule_id: Rule Id is the ID of the Rule.
|
280
|
+
:param pulumi.Input[str] scope: Resource name of the DataAccessScope bound to this rule.
|
281
|
+
Populated in BASIC view and FULL view.
|
282
|
+
If reference lists are used in the rule, validations will be performed
|
283
|
+
against this scope to ensure that the reference lists are compatible with
|
284
|
+
both the user's and the rule's scopes.
|
285
|
+
The scope should be in the format:
|
286
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
287
|
+
:param pulumi.Input[Sequence[pulumi.Input['RuleSeverityArgs']]] severities: (Output)
|
288
|
+
Output only. The severity of a rule's compilation diagnostic.
|
289
|
+
Possible values:
|
290
|
+
SEVERITY_UNSPECIFIED
|
291
|
+
WARNING
|
292
|
+
ERROR
|
293
|
+
:param pulumi.Input[str] text: The YARA-L content of the rule.
|
294
|
+
Populated in FULL view.
|
295
|
+
:param pulumi.Input[str] type: Possible values:
|
296
|
+
RULE_TYPE_UNSPECIFIED
|
297
|
+
SINGLE_EVENT
|
298
|
+
MULTI_EVENT
|
299
|
+
"""
|
300
|
+
if allowed_run_frequencies is not None:
|
301
|
+
pulumi.set(__self__, "allowed_run_frequencies", allowed_run_frequencies)
|
302
|
+
if author is not None:
|
303
|
+
pulumi.set(__self__, "author", author)
|
304
|
+
if compilation_diagnostics is not None:
|
305
|
+
pulumi.set(__self__, "compilation_diagnostics", compilation_diagnostics)
|
306
|
+
if compilation_state is not None:
|
307
|
+
pulumi.set(__self__, "compilation_state", compilation_state)
|
308
|
+
if create_time is not None:
|
309
|
+
pulumi.set(__self__, "create_time", create_time)
|
310
|
+
if data_tables is not None:
|
311
|
+
pulumi.set(__self__, "data_tables", data_tables)
|
312
|
+
if deletion_policy is not None:
|
313
|
+
pulumi.set(__self__, "deletion_policy", deletion_policy)
|
314
|
+
if display_name is not None:
|
315
|
+
pulumi.set(__self__, "display_name", display_name)
|
316
|
+
if etag is not None:
|
317
|
+
pulumi.set(__self__, "etag", etag)
|
318
|
+
if instance is not None:
|
319
|
+
pulumi.set(__self__, "instance", instance)
|
320
|
+
if location is not None:
|
321
|
+
pulumi.set(__self__, "location", location)
|
322
|
+
if metadata is not None:
|
323
|
+
pulumi.set(__self__, "metadata", metadata)
|
324
|
+
if name is not None:
|
325
|
+
pulumi.set(__self__, "name", name)
|
326
|
+
if near_real_time_live_rule_eligible is not None:
|
327
|
+
pulumi.set(__self__, "near_real_time_live_rule_eligible", near_real_time_live_rule_eligible)
|
328
|
+
if project is not None:
|
329
|
+
pulumi.set(__self__, "project", project)
|
330
|
+
if reference_lists is not None:
|
331
|
+
pulumi.set(__self__, "reference_lists", reference_lists)
|
332
|
+
if revision_create_time is not None:
|
333
|
+
pulumi.set(__self__, "revision_create_time", revision_create_time)
|
334
|
+
if revision_id is not None:
|
335
|
+
pulumi.set(__self__, "revision_id", revision_id)
|
336
|
+
if rule_id is not None:
|
337
|
+
pulumi.set(__self__, "rule_id", rule_id)
|
338
|
+
if scope is not None:
|
339
|
+
pulumi.set(__self__, "scope", scope)
|
340
|
+
if severities is not None:
|
341
|
+
pulumi.set(__self__, "severities", severities)
|
342
|
+
if text is not None:
|
343
|
+
pulumi.set(__self__, "text", text)
|
344
|
+
if type is not None:
|
345
|
+
pulumi.set(__self__, "type", type)
|
346
|
+
|
347
|
+
@property
|
348
|
+
@pulumi.getter(name="allowedRunFrequencies")
|
349
|
+
def allowed_run_frequencies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
350
|
+
"""
|
351
|
+
Output only. The run frequencies that are allowed for the rule.
|
352
|
+
Populated in BASIC view and FULL view.
|
353
|
+
"""
|
354
|
+
return pulumi.get(self, "allowed_run_frequencies")
|
355
|
+
|
356
|
+
@allowed_run_frequencies.setter
|
357
|
+
def allowed_run_frequencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
358
|
+
pulumi.set(self, "allowed_run_frequencies", value)
|
359
|
+
|
360
|
+
@property
|
361
|
+
@pulumi.getter
|
362
|
+
def author(self) -> Optional[pulumi.Input[str]]:
|
363
|
+
"""
|
364
|
+
Output only. The author of the rule. Extracted from the meta section of text.
|
365
|
+
Populated in BASIC view and FULL view.
|
366
|
+
"""
|
367
|
+
return pulumi.get(self, "author")
|
368
|
+
|
369
|
+
@author.setter
|
370
|
+
def author(self, value: Optional[pulumi.Input[str]]):
|
371
|
+
pulumi.set(self, "author", value)
|
372
|
+
|
373
|
+
@property
|
374
|
+
@pulumi.getter(name="compilationDiagnostics")
|
375
|
+
def compilation_diagnostics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleCompilationDiagnosticArgs']]]]:
|
376
|
+
"""
|
377
|
+
Output only. A list of a rule's corresponding compilation diagnostic messages
|
378
|
+
such as compilation errors and compilation warnings.
|
379
|
+
Populated in FULL view.
|
380
|
+
Structure is documented below.
|
381
|
+
"""
|
382
|
+
return pulumi.get(self, "compilation_diagnostics")
|
383
|
+
|
384
|
+
@compilation_diagnostics.setter
|
385
|
+
def compilation_diagnostics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleCompilationDiagnosticArgs']]]]):
|
386
|
+
pulumi.set(self, "compilation_diagnostics", value)
|
387
|
+
|
388
|
+
@property
|
389
|
+
@pulumi.getter(name="compilationState")
|
390
|
+
def compilation_state(self) -> Optional[pulumi.Input[str]]:
|
391
|
+
"""
|
392
|
+
Output only. The current compilation state of the rule.
|
393
|
+
Populated in FULL view.
|
394
|
+
Possible values:
|
395
|
+
COMPILATION_STATE_UNSPECIFIED
|
396
|
+
SUCCEEDED
|
397
|
+
FAILED
|
398
|
+
"""
|
399
|
+
return pulumi.get(self, "compilation_state")
|
400
|
+
|
401
|
+
@compilation_state.setter
|
402
|
+
def compilation_state(self, value: Optional[pulumi.Input[str]]):
|
403
|
+
pulumi.set(self, "compilation_state", value)
|
404
|
+
|
405
|
+
@property
|
406
|
+
@pulumi.getter(name="createTime")
|
407
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
408
|
+
"""
|
409
|
+
Output only. The timestamp of when the rule was created.
|
410
|
+
Populated in FULL view.
|
411
|
+
"""
|
412
|
+
return pulumi.get(self, "create_time")
|
413
|
+
|
414
|
+
@create_time.setter
|
415
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
416
|
+
pulumi.set(self, "create_time", value)
|
417
|
+
|
418
|
+
@property
|
419
|
+
@pulumi.getter(name="dataTables")
|
420
|
+
def data_tables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
421
|
+
"""
|
422
|
+
Output only. Resource names of the data tables used in this rule.
|
423
|
+
"""
|
424
|
+
return pulumi.get(self, "data_tables")
|
425
|
+
|
426
|
+
@data_tables.setter
|
427
|
+
def data_tables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
428
|
+
pulumi.set(self, "data_tables", value)
|
429
|
+
|
430
|
+
@property
|
431
|
+
@pulumi.getter(name="deletionPolicy")
|
432
|
+
def deletion_policy(self) -> Optional[pulumi.Input[str]]:
|
433
|
+
"""
|
434
|
+
Policy to determine if the rule should be deleted forcefully.
|
435
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
436
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
437
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
438
|
+
associated detections. Regardless of this field's value, the rule
|
439
|
+
deployment associated with this rule will also be deleted.
|
440
|
+
Possible values: DEFAULT, FORCE
|
441
|
+
"""
|
442
|
+
return pulumi.get(self, "deletion_policy")
|
443
|
+
|
444
|
+
@deletion_policy.setter
|
445
|
+
def deletion_policy(self, value: Optional[pulumi.Input[str]]):
|
446
|
+
pulumi.set(self, "deletion_policy", value)
|
447
|
+
|
448
|
+
@property
|
449
|
+
@pulumi.getter(name="displayName")
|
450
|
+
def display_name(self) -> Optional[pulumi.Input[str]]:
|
451
|
+
"""
|
452
|
+
The display name of the severity level. Extracted from the meta section of
|
453
|
+
the rule text.
|
454
|
+
"""
|
455
|
+
return pulumi.get(self, "display_name")
|
456
|
+
|
457
|
+
@display_name.setter
|
458
|
+
def display_name(self, value: Optional[pulumi.Input[str]]):
|
459
|
+
pulumi.set(self, "display_name", value)
|
460
|
+
|
461
|
+
@property
|
462
|
+
@pulumi.getter
|
463
|
+
def etag(self) -> Optional[pulumi.Input[str]]:
|
464
|
+
"""
|
465
|
+
The etag for this rule.
|
466
|
+
If this is provided on update, the request will succeed if and only if it
|
467
|
+
matches the server-computed value, and will fail with an ABORTED error
|
468
|
+
otherwise.
|
469
|
+
Populated in BASIC view and FULL view.
|
470
|
+
"""
|
471
|
+
return pulumi.get(self, "etag")
|
472
|
+
|
473
|
+
@etag.setter
|
474
|
+
def etag(self, value: Optional[pulumi.Input[str]]):
|
475
|
+
pulumi.set(self, "etag", value)
|
476
|
+
|
477
|
+
@property
|
478
|
+
@pulumi.getter
|
479
|
+
def instance(self) -> Optional[pulumi.Input[str]]:
|
480
|
+
"""
|
481
|
+
The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
482
|
+
|
483
|
+
|
484
|
+
- - -
|
485
|
+
"""
|
486
|
+
return pulumi.get(self, "instance")
|
487
|
+
|
488
|
+
@instance.setter
|
489
|
+
def instance(self, value: Optional[pulumi.Input[str]]):
|
490
|
+
pulumi.set(self, "instance", value)
|
491
|
+
|
492
|
+
@property
|
493
|
+
@pulumi.getter
|
494
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
495
|
+
"""
|
496
|
+
The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
|
497
|
+
"""
|
498
|
+
return pulumi.get(self, "location")
|
499
|
+
|
500
|
+
@location.setter
|
501
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
502
|
+
pulumi.set(self, "location", value)
|
503
|
+
|
504
|
+
@property
|
505
|
+
@pulumi.getter
|
506
|
+
def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
507
|
+
"""
|
508
|
+
Output only. Additional metadata specified in the meta section of text.
|
509
|
+
Populated in FULL view.
|
510
|
+
"""
|
511
|
+
return pulumi.get(self, "metadata")
|
512
|
+
|
513
|
+
@metadata.setter
|
514
|
+
def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
515
|
+
pulumi.set(self, "metadata", value)
|
516
|
+
|
517
|
+
@property
|
518
|
+
@pulumi.getter
|
519
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
520
|
+
"""
|
521
|
+
Full resource name for the rule. This unique identifier is generated using values provided for the URL parameters.
|
522
|
+
Format:
|
523
|
+
projects/{project}/locations/{location}/instances/{instance}/rules/{rule}
|
524
|
+
"""
|
525
|
+
return pulumi.get(self, "name")
|
526
|
+
|
527
|
+
@name.setter
|
528
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
529
|
+
pulumi.set(self, "name", value)
|
530
|
+
|
531
|
+
@property
|
532
|
+
@pulumi.getter(name="nearRealTimeLiveRuleEligible")
|
533
|
+
def near_real_time_live_rule_eligible(self) -> Optional[pulumi.Input[bool]]:
|
534
|
+
"""
|
535
|
+
Output only. Indicate the rule can run in near real time live rule.
|
536
|
+
If this is true, the rule uses the near real time live rule when the run
|
537
|
+
frequency is set to LIVE.
|
538
|
+
"""
|
539
|
+
return pulumi.get(self, "near_real_time_live_rule_eligible")
|
540
|
+
|
541
|
+
@near_real_time_live_rule_eligible.setter
|
542
|
+
def near_real_time_live_rule_eligible(self, value: Optional[pulumi.Input[bool]]):
|
543
|
+
pulumi.set(self, "near_real_time_live_rule_eligible", value)
|
544
|
+
|
545
|
+
@property
|
546
|
+
@pulumi.getter
|
547
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
548
|
+
"""
|
549
|
+
The ID of the project in which the resource belongs.
|
550
|
+
If it is not provided, the provider project is used.
|
551
|
+
"""
|
552
|
+
return pulumi.get(self, "project")
|
553
|
+
|
554
|
+
@project.setter
|
555
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
556
|
+
pulumi.set(self, "project", value)
|
557
|
+
|
558
|
+
@property
|
559
|
+
@pulumi.getter(name="referenceLists")
|
560
|
+
def reference_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
561
|
+
"""
|
562
|
+
Output only. Resource names of the reference lists used in this rule.
|
563
|
+
Populated in FULL view.
|
564
|
+
"""
|
565
|
+
return pulumi.get(self, "reference_lists")
|
566
|
+
|
567
|
+
@reference_lists.setter
|
568
|
+
def reference_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
569
|
+
pulumi.set(self, "reference_lists", value)
|
570
|
+
|
571
|
+
@property
|
572
|
+
@pulumi.getter(name="revisionCreateTime")
|
573
|
+
def revision_create_time(self) -> Optional[pulumi.Input[str]]:
|
574
|
+
"""
|
575
|
+
Output only. The timestamp of when the rule revision was created.
|
576
|
+
Populated in FULL, REVISION_METADATA_ONLY views.
|
577
|
+
"""
|
578
|
+
return pulumi.get(self, "revision_create_time")
|
579
|
+
|
580
|
+
@revision_create_time.setter
|
581
|
+
def revision_create_time(self, value: Optional[pulumi.Input[str]]):
|
582
|
+
pulumi.set(self, "revision_create_time", value)
|
583
|
+
|
584
|
+
@property
|
585
|
+
@pulumi.getter(name="revisionId")
|
586
|
+
def revision_id(self) -> Optional[pulumi.Input[str]]:
|
587
|
+
"""
|
588
|
+
Output only. The revision ID of the rule.
|
589
|
+
A new revision is created whenever the rule text is changed in any way.
|
590
|
+
Format: v_{10 digits}_{9 digits}
|
591
|
+
Populated in REVISION_METADATA_ONLY view and FULL view.
|
592
|
+
"""
|
593
|
+
return pulumi.get(self, "revision_id")
|
594
|
+
|
595
|
+
@revision_id.setter
|
596
|
+
def revision_id(self, value: Optional[pulumi.Input[str]]):
|
597
|
+
pulumi.set(self, "revision_id", value)
|
598
|
+
|
599
|
+
@property
|
600
|
+
@pulumi.getter(name="ruleId")
|
601
|
+
def rule_id(self) -> Optional[pulumi.Input[str]]:
|
602
|
+
"""
|
603
|
+
Rule Id is the ID of the Rule.
|
604
|
+
"""
|
605
|
+
return pulumi.get(self, "rule_id")
|
606
|
+
|
607
|
+
@rule_id.setter
|
608
|
+
def rule_id(self, value: Optional[pulumi.Input[str]]):
|
609
|
+
pulumi.set(self, "rule_id", value)
|
610
|
+
|
611
|
+
@property
|
612
|
+
@pulumi.getter
|
613
|
+
def scope(self) -> Optional[pulumi.Input[str]]:
|
614
|
+
"""
|
615
|
+
Resource name of the DataAccessScope bound to this rule.
|
616
|
+
Populated in BASIC view and FULL view.
|
617
|
+
If reference lists are used in the rule, validations will be performed
|
618
|
+
against this scope to ensure that the reference lists are compatible with
|
619
|
+
both the user's and the rule's scopes.
|
620
|
+
The scope should be in the format:
|
621
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
622
|
+
"""
|
623
|
+
return pulumi.get(self, "scope")
|
624
|
+
|
625
|
+
@scope.setter
|
626
|
+
def scope(self, value: Optional[pulumi.Input[str]]):
|
627
|
+
pulumi.set(self, "scope", value)
|
628
|
+
|
629
|
+
@property
|
630
|
+
@pulumi.getter
|
631
|
+
def severities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleSeverityArgs']]]]:
|
632
|
+
"""
|
633
|
+
(Output)
|
634
|
+
Output only. The severity of a rule's compilation diagnostic.
|
635
|
+
Possible values:
|
636
|
+
SEVERITY_UNSPECIFIED
|
637
|
+
WARNING
|
638
|
+
ERROR
|
639
|
+
"""
|
640
|
+
return pulumi.get(self, "severities")
|
641
|
+
|
642
|
+
@severities.setter
|
643
|
+
def severities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleSeverityArgs']]]]):
|
644
|
+
pulumi.set(self, "severities", value)
|
645
|
+
|
646
|
+
@property
|
647
|
+
@pulumi.getter
|
648
|
+
def text(self) -> Optional[pulumi.Input[str]]:
|
649
|
+
"""
|
650
|
+
The YARA-L content of the rule.
|
651
|
+
Populated in FULL view.
|
652
|
+
"""
|
653
|
+
return pulumi.get(self, "text")
|
654
|
+
|
655
|
+
@text.setter
|
656
|
+
def text(self, value: Optional[pulumi.Input[str]]):
|
657
|
+
pulumi.set(self, "text", value)
|
658
|
+
|
659
|
+
@property
|
660
|
+
@pulumi.getter
|
661
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
662
|
+
"""
|
663
|
+
Possible values:
|
664
|
+
RULE_TYPE_UNSPECIFIED
|
665
|
+
SINGLE_EVENT
|
666
|
+
MULTI_EVENT
|
667
|
+
"""
|
668
|
+
return pulumi.get(self, "type")
|
669
|
+
|
670
|
+
@type.setter
|
671
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
672
|
+
pulumi.set(self, "type", value)
|
673
|
+
|
674
|
+
|
675
|
+
class Rule(pulumi.CustomResource):
|
676
|
+
@overload
|
677
|
+
def __init__(__self__,
|
678
|
+
resource_name: str,
|
679
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
680
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
681
|
+
etag: Optional[pulumi.Input[str]] = None,
|
682
|
+
instance: Optional[pulumi.Input[str]] = None,
|
683
|
+
location: Optional[pulumi.Input[str]] = None,
|
684
|
+
project: Optional[pulumi.Input[str]] = None,
|
685
|
+
rule_id: Optional[pulumi.Input[str]] = None,
|
686
|
+
scope: Optional[pulumi.Input[str]] = None,
|
687
|
+
text: Optional[pulumi.Input[str]] = None,
|
688
|
+
__props__=None):
|
689
|
+
"""
|
690
|
+
## Example Usage
|
691
|
+
|
692
|
+
### Chronicle Rule Basic
|
693
|
+
|
694
|
+
```python
|
695
|
+
import pulumi
|
696
|
+
import pulumi_gcp as gcp
|
697
|
+
|
698
|
+
example = gcp.chronicle.Rule("example",
|
699
|
+
location="us",
|
700
|
+
instance="00000000-0000-0000-0000-000000000000",
|
701
|
+
deletion_policy="DEFAULT",
|
702
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
703
|
+
```
|
704
|
+
### Chronicle Rule With Force Deletion
|
705
|
+
|
706
|
+
```python
|
707
|
+
import pulumi
|
708
|
+
import pulumi_gcp as gcp
|
709
|
+
|
710
|
+
example = gcp.chronicle.Rule("example",
|
711
|
+
location="us",
|
712
|
+
instance="00000000-0000-0000-0000-000000000000",
|
713
|
+
deletion_policy="FORCE",
|
714
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
715
|
+
```
|
716
|
+
### Chronicle Rule With Data Access Scope
|
717
|
+
|
718
|
+
```python
|
719
|
+
import pulumi
|
720
|
+
import pulumi_gcp as gcp
|
721
|
+
|
722
|
+
data_access_scope_test = gcp.chronicle.DataAccessScope("data_access_scope_test",
|
723
|
+
location="us",
|
724
|
+
instance="00000000-0000-0000-0000-000000000000",
|
725
|
+
data_access_scope_id="scope-name",
|
726
|
+
description="scope-description",
|
727
|
+
allowed_data_access_labels=[{
|
728
|
+
"log_type": "GCP_CLOUDAUDIT",
|
729
|
+
}])
|
730
|
+
example = gcp.chronicle.Rule("example",
|
731
|
+
location="us",
|
732
|
+
instance="00000000-0000-0000-0000-000000000000",
|
733
|
+
scope=google_chronicle_data_access_scope["dataAccessScopeTest"]["name"],
|
734
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
735
|
+
```
|
736
|
+
|
737
|
+
## Import
|
738
|
+
|
739
|
+
Rule can be imported using any of these accepted formats:
|
740
|
+
|
741
|
+
* `projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule_id}}`
|
742
|
+
|
743
|
+
* `{{project}}/{{location}}/{{instance}}/{{rule_id}}`
|
744
|
+
|
745
|
+
* `{{location}}/{{instance}}/{{rule_id}}`
|
746
|
+
|
747
|
+
When using the `pulumi import` command, Rule can be imported using one of the formats above. For example:
|
748
|
+
|
749
|
+
```sh
|
750
|
+
$ pulumi import gcp:chronicle/rule:Rule default projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule_id}}
|
751
|
+
```
|
752
|
+
|
753
|
+
```sh
|
754
|
+
$ pulumi import gcp:chronicle/rule:Rule default {{project}}/{{location}}/{{instance}}/{{rule_id}}
|
755
|
+
```
|
756
|
+
|
757
|
+
```sh
|
758
|
+
$ pulumi import gcp:chronicle/rule:Rule default {{location}}/{{instance}}/{{rule_id}}
|
759
|
+
```
|
760
|
+
|
761
|
+
:param str resource_name: The name of the resource.
|
762
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
763
|
+
:param pulumi.Input[str] deletion_policy: Policy to determine if the rule should be deleted forcefully.
|
764
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
765
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
766
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
767
|
+
associated detections. Regardless of this field's value, the rule
|
768
|
+
deployment associated with this rule will also be deleted.
|
769
|
+
Possible values: DEFAULT, FORCE
|
770
|
+
:param pulumi.Input[str] etag: The etag for this rule.
|
771
|
+
If this is provided on update, the request will succeed if and only if it
|
772
|
+
matches the server-computed value, and will fail with an ABORTED error
|
773
|
+
otherwise.
|
774
|
+
Populated in BASIC view and FULL view.
|
775
|
+
:param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
776
|
+
|
777
|
+
|
778
|
+
- - -
|
779
|
+
: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".
|
780
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
781
|
+
If it is not provided, the provider project is used.
|
782
|
+
:param pulumi.Input[str] rule_id: Rule Id is the ID of the Rule.
|
783
|
+
:param pulumi.Input[str] scope: Resource name of the DataAccessScope bound to this rule.
|
784
|
+
Populated in BASIC view and FULL view.
|
785
|
+
If reference lists are used in the rule, validations will be performed
|
786
|
+
against this scope to ensure that the reference lists are compatible with
|
787
|
+
both the user's and the rule's scopes.
|
788
|
+
The scope should be in the format:
|
789
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
790
|
+
:param pulumi.Input[str] text: The YARA-L content of the rule.
|
791
|
+
Populated in FULL view.
|
792
|
+
"""
|
793
|
+
...
|
794
|
+
@overload
|
795
|
+
def __init__(__self__,
|
796
|
+
resource_name: str,
|
797
|
+
args: RuleArgs,
|
798
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
799
|
+
"""
|
800
|
+
## Example Usage
|
801
|
+
|
802
|
+
### Chronicle Rule Basic
|
803
|
+
|
804
|
+
```python
|
805
|
+
import pulumi
|
806
|
+
import pulumi_gcp as gcp
|
807
|
+
|
808
|
+
example = gcp.chronicle.Rule("example",
|
809
|
+
location="us",
|
810
|
+
instance="00000000-0000-0000-0000-000000000000",
|
811
|
+
deletion_policy="DEFAULT",
|
812
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
813
|
+
```
|
814
|
+
### Chronicle Rule With Force Deletion
|
815
|
+
|
816
|
+
```python
|
817
|
+
import pulumi
|
818
|
+
import pulumi_gcp as gcp
|
819
|
+
|
820
|
+
example = gcp.chronicle.Rule("example",
|
821
|
+
location="us",
|
822
|
+
instance="00000000-0000-0000-0000-000000000000",
|
823
|
+
deletion_policy="FORCE",
|
824
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
825
|
+
```
|
826
|
+
### Chronicle Rule With Data Access Scope
|
827
|
+
|
828
|
+
```python
|
829
|
+
import pulumi
|
830
|
+
import pulumi_gcp as gcp
|
831
|
+
|
832
|
+
data_access_scope_test = gcp.chronicle.DataAccessScope("data_access_scope_test",
|
833
|
+
location="us",
|
834
|
+
instance="00000000-0000-0000-0000-000000000000",
|
835
|
+
data_access_scope_id="scope-name",
|
836
|
+
description="scope-description",
|
837
|
+
allowed_data_access_labels=[{
|
838
|
+
"log_type": "GCP_CLOUDAUDIT",
|
839
|
+
}])
|
840
|
+
example = gcp.chronicle.Rule("example",
|
841
|
+
location="us",
|
842
|
+
instance="00000000-0000-0000-0000-000000000000",
|
843
|
+
scope=google_chronicle_data_access_scope["dataAccessScopeTest"]["name"],
|
844
|
+
text="rule test_rule { meta: events: $userid = $e.principal.user.userid match: $userid over 10m condition: $e }\\n")
|
845
|
+
```
|
846
|
+
|
847
|
+
## Import
|
848
|
+
|
849
|
+
Rule can be imported using any of these accepted formats:
|
850
|
+
|
851
|
+
* `projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule_id}}`
|
852
|
+
|
853
|
+
* `{{project}}/{{location}}/{{instance}}/{{rule_id}}`
|
854
|
+
|
855
|
+
* `{{location}}/{{instance}}/{{rule_id}}`
|
856
|
+
|
857
|
+
When using the `pulumi import` command, Rule can be imported using one of the formats above. For example:
|
858
|
+
|
859
|
+
```sh
|
860
|
+
$ pulumi import gcp:chronicle/rule:Rule default projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule_id}}
|
861
|
+
```
|
862
|
+
|
863
|
+
```sh
|
864
|
+
$ pulumi import gcp:chronicle/rule:Rule default {{project}}/{{location}}/{{instance}}/{{rule_id}}
|
865
|
+
```
|
866
|
+
|
867
|
+
```sh
|
868
|
+
$ pulumi import gcp:chronicle/rule:Rule default {{location}}/{{instance}}/{{rule_id}}
|
869
|
+
```
|
870
|
+
|
871
|
+
:param str resource_name: The name of the resource.
|
872
|
+
:param RuleArgs args: The arguments to use to populate this resource's properties.
|
873
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
874
|
+
"""
|
875
|
+
...
|
876
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
877
|
+
resource_args, opts = _utilities.get_resource_args_opts(RuleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
878
|
+
if resource_args is not None:
|
879
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
880
|
+
else:
|
881
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
882
|
+
|
883
|
+
def _internal_init(__self__,
|
884
|
+
resource_name: str,
|
885
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
886
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
887
|
+
etag: Optional[pulumi.Input[str]] = None,
|
888
|
+
instance: Optional[pulumi.Input[str]] = None,
|
889
|
+
location: Optional[pulumi.Input[str]] = None,
|
890
|
+
project: Optional[pulumi.Input[str]] = None,
|
891
|
+
rule_id: Optional[pulumi.Input[str]] = None,
|
892
|
+
scope: Optional[pulumi.Input[str]] = None,
|
893
|
+
text: Optional[pulumi.Input[str]] = None,
|
894
|
+
__props__=None):
|
895
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
896
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
897
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
898
|
+
if opts.id is None:
|
899
|
+
if __props__ is not None:
|
900
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
901
|
+
__props__ = RuleArgs.__new__(RuleArgs)
|
902
|
+
|
903
|
+
__props__.__dict__["deletion_policy"] = deletion_policy
|
904
|
+
__props__.__dict__["etag"] = etag
|
905
|
+
if instance is None and not opts.urn:
|
906
|
+
raise TypeError("Missing required property 'instance'")
|
907
|
+
__props__.__dict__["instance"] = instance
|
908
|
+
if location is None and not opts.urn:
|
909
|
+
raise TypeError("Missing required property 'location'")
|
910
|
+
__props__.__dict__["location"] = location
|
911
|
+
__props__.__dict__["project"] = project
|
912
|
+
__props__.__dict__["rule_id"] = rule_id
|
913
|
+
__props__.__dict__["scope"] = scope
|
914
|
+
__props__.__dict__["text"] = text
|
915
|
+
__props__.__dict__["allowed_run_frequencies"] = None
|
916
|
+
__props__.__dict__["author"] = None
|
917
|
+
__props__.__dict__["compilation_diagnostics"] = None
|
918
|
+
__props__.__dict__["compilation_state"] = None
|
919
|
+
__props__.__dict__["create_time"] = None
|
920
|
+
__props__.__dict__["data_tables"] = None
|
921
|
+
__props__.__dict__["display_name"] = None
|
922
|
+
__props__.__dict__["metadata"] = None
|
923
|
+
__props__.__dict__["name"] = None
|
924
|
+
__props__.__dict__["near_real_time_live_rule_eligible"] = None
|
925
|
+
__props__.__dict__["reference_lists"] = None
|
926
|
+
__props__.__dict__["revision_create_time"] = None
|
927
|
+
__props__.__dict__["revision_id"] = None
|
928
|
+
__props__.__dict__["severities"] = None
|
929
|
+
__props__.__dict__["type"] = None
|
930
|
+
super(Rule, __self__).__init__(
|
931
|
+
'gcp:chronicle/rule:Rule',
|
932
|
+
resource_name,
|
933
|
+
__props__,
|
934
|
+
opts)
|
935
|
+
|
936
|
+
@staticmethod
|
937
|
+
def get(resource_name: str,
|
938
|
+
id: pulumi.Input[str],
|
939
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
940
|
+
allowed_run_frequencies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
941
|
+
author: Optional[pulumi.Input[str]] = None,
|
942
|
+
compilation_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleCompilationDiagnosticArgs', 'RuleCompilationDiagnosticArgsDict']]]]] = None,
|
943
|
+
compilation_state: Optional[pulumi.Input[str]] = None,
|
944
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
945
|
+
data_tables: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
946
|
+
deletion_policy: Optional[pulumi.Input[str]] = None,
|
947
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
948
|
+
etag: Optional[pulumi.Input[str]] = None,
|
949
|
+
instance: Optional[pulumi.Input[str]] = None,
|
950
|
+
location: Optional[pulumi.Input[str]] = None,
|
951
|
+
metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
952
|
+
name: Optional[pulumi.Input[str]] = None,
|
953
|
+
near_real_time_live_rule_eligible: Optional[pulumi.Input[bool]] = None,
|
954
|
+
project: Optional[pulumi.Input[str]] = None,
|
955
|
+
reference_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
956
|
+
revision_create_time: Optional[pulumi.Input[str]] = None,
|
957
|
+
revision_id: Optional[pulumi.Input[str]] = None,
|
958
|
+
rule_id: Optional[pulumi.Input[str]] = None,
|
959
|
+
scope: Optional[pulumi.Input[str]] = None,
|
960
|
+
severities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleSeverityArgs', 'RuleSeverityArgsDict']]]]] = None,
|
961
|
+
text: Optional[pulumi.Input[str]] = None,
|
962
|
+
type: Optional[pulumi.Input[str]] = None) -> 'Rule':
|
963
|
+
"""
|
964
|
+
Get an existing Rule resource's state with the given name, id, and optional extra
|
965
|
+
properties used to qualify the lookup.
|
966
|
+
|
967
|
+
:param str resource_name: The unique name of the resulting resource.
|
968
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
969
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
970
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_run_frequencies: Output only. The run frequencies that are allowed for the rule.
|
971
|
+
Populated in BASIC view and FULL view.
|
972
|
+
:param pulumi.Input[str] author: Output only. The author of the rule. Extracted from the meta section of text.
|
973
|
+
Populated in BASIC view and FULL view.
|
974
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RuleCompilationDiagnosticArgs', 'RuleCompilationDiagnosticArgsDict']]]] compilation_diagnostics: Output only. A list of a rule's corresponding compilation diagnostic messages
|
975
|
+
such as compilation errors and compilation warnings.
|
976
|
+
Populated in FULL view.
|
977
|
+
Structure is documented below.
|
978
|
+
:param pulumi.Input[str] compilation_state: Output only. The current compilation state of the rule.
|
979
|
+
Populated in FULL view.
|
980
|
+
Possible values:
|
981
|
+
COMPILATION_STATE_UNSPECIFIED
|
982
|
+
SUCCEEDED
|
983
|
+
FAILED
|
984
|
+
:param pulumi.Input[str] create_time: Output only. The timestamp of when the rule was created.
|
985
|
+
Populated in FULL view.
|
986
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] data_tables: Output only. Resource names of the data tables used in this rule.
|
987
|
+
:param pulumi.Input[str] deletion_policy: Policy to determine if the rule should be deleted forcefully.
|
988
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
989
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
990
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
991
|
+
associated detections. Regardless of this field's value, the rule
|
992
|
+
deployment associated with this rule will also be deleted.
|
993
|
+
Possible values: DEFAULT, FORCE
|
994
|
+
:param pulumi.Input[str] display_name: The display name of the severity level. Extracted from the meta section of
|
995
|
+
the rule text.
|
996
|
+
:param pulumi.Input[str] etag: The etag for this rule.
|
997
|
+
If this is provided on update, the request will succeed if and only if it
|
998
|
+
matches the server-computed value, and will fail with an ABORTED error
|
999
|
+
otherwise.
|
1000
|
+
Populated in BASIC view and FULL view.
|
1001
|
+
:param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
1002
|
+
|
1003
|
+
|
1004
|
+
- - -
|
1005
|
+
: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".
|
1006
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Output only. Additional metadata specified in the meta section of text.
|
1007
|
+
Populated in FULL view.
|
1008
|
+
:param pulumi.Input[str] name: Full resource name for the rule. This unique identifier is generated using values provided for the URL parameters.
|
1009
|
+
Format:
|
1010
|
+
projects/{project}/locations/{location}/instances/{instance}/rules/{rule}
|
1011
|
+
:param pulumi.Input[bool] near_real_time_live_rule_eligible: Output only. Indicate the rule can run in near real time live rule.
|
1012
|
+
If this is true, the rule uses the near real time live rule when the run
|
1013
|
+
frequency is set to LIVE.
|
1014
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1015
|
+
If it is not provided, the provider project is used.
|
1016
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] reference_lists: Output only. Resource names of the reference lists used in this rule.
|
1017
|
+
Populated in FULL view.
|
1018
|
+
:param pulumi.Input[str] revision_create_time: Output only. The timestamp of when the rule revision was created.
|
1019
|
+
Populated in FULL, REVISION_METADATA_ONLY views.
|
1020
|
+
:param pulumi.Input[str] revision_id: Output only. The revision ID of the rule.
|
1021
|
+
A new revision is created whenever the rule text is changed in any way.
|
1022
|
+
Format: v_{10 digits}_{9 digits}
|
1023
|
+
Populated in REVISION_METADATA_ONLY view and FULL view.
|
1024
|
+
:param pulumi.Input[str] rule_id: Rule Id is the ID of the Rule.
|
1025
|
+
:param pulumi.Input[str] scope: Resource name of the DataAccessScope bound to this rule.
|
1026
|
+
Populated in BASIC view and FULL view.
|
1027
|
+
If reference lists are used in the rule, validations will be performed
|
1028
|
+
against this scope to ensure that the reference lists are compatible with
|
1029
|
+
both the user's and the rule's scopes.
|
1030
|
+
The scope should be in the format:
|
1031
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
1032
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['RuleSeverityArgs', 'RuleSeverityArgsDict']]]] severities: (Output)
|
1033
|
+
Output only. The severity of a rule's compilation diagnostic.
|
1034
|
+
Possible values:
|
1035
|
+
SEVERITY_UNSPECIFIED
|
1036
|
+
WARNING
|
1037
|
+
ERROR
|
1038
|
+
:param pulumi.Input[str] text: The YARA-L content of the rule.
|
1039
|
+
Populated in FULL view.
|
1040
|
+
:param pulumi.Input[str] type: Possible values:
|
1041
|
+
RULE_TYPE_UNSPECIFIED
|
1042
|
+
SINGLE_EVENT
|
1043
|
+
MULTI_EVENT
|
1044
|
+
"""
|
1045
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1046
|
+
|
1047
|
+
__props__ = _RuleState.__new__(_RuleState)
|
1048
|
+
|
1049
|
+
__props__.__dict__["allowed_run_frequencies"] = allowed_run_frequencies
|
1050
|
+
__props__.__dict__["author"] = author
|
1051
|
+
__props__.__dict__["compilation_diagnostics"] = compilation_diagnostics
|
1052
|
+
__props__.__dict__["compilation_state"] = compilation_state
|
1053
|
+
__props__.__dict__["create_time"] = create_time
|
1054
|
+
__props__.__dict__["data_tables"] = data_tables
|
1055
|
+
__props__.__dict__["deletion_policy"] = deletion_policy
|
1056
|
+
__props__.__dict__["display_name"] = display_name
|
1057
|
+
__props__.__dict__["etag"] = etag
|
1058
|
+
__props__.__dict__["instance"] = instance
|
1059
|
+
__props__.__dict__["location"] = location
|
1060
|
+
__props__.__dict__["metadata"] = metadata
|
1061
|
+
__props__.__dict__["name"] = name
|
1062
|
+
__props__.__dict__["near_real_time_live_rule_eligible"] = near_real_time_live_rule_eligible
|
1063
|
+
__props__.__dict__["project"] = project
|
1064
|
+
__props__.__dict__["reference_lists"] = reference_lists
|
1065
|
+
__props__.__dict__["revision_create_time"] = revision_create_time
|
1066
|
+
__props__.__dict__["revision_id"] = revision_id
|
1067
|
+
__props__.__dict__["rule_id"] = rule_id
|
1068
|
+
__props__.__dict__["scope"] = scope
|
1069
|
+
__props__.__dict__["severities"] = severities
|
1070
|
+
__props__.__dict__["text"] = text
|
1071
|
+
__props__.__dict__["type"] = type
|
1072
|
+
return Rule(resource_name, opts=opts, __props__=__props__)
|
1073
|
+
|
1074
|
+
@property
|
1075
|
+
@pulumi.getter(name="allowedRunFrequencies")
|
1076
|
+
def allowed_run_frequencies(self) -> pulumi.Output[Sequence[str]]:
|
1077
|
+
"""
|
1078
|
+
Output only. The run frequencies that are allowed for the rule.
|
1079
|
+
Populated in BASIC view and FULL view.
|
1080
|
+
"""
|
1081
|
+
return pulumi.get(self, "allowed_run_frequencies")
|
1082
|
+
|
1083
|
+
@property
|
1084
|
+
@pulumi.getter
|
1085
|
+
def author(self) -> pulumi.Output[str]:
|
1086
|
+
"""
|
1087
|
+
Output only. The author of the rule. Extracted from the meta section of text.
|
1088
|
+
Populated in BASIC view and FULL view.
|
1089
|
+
"""
|
1090
|
+
return pulumi.get(self, "author")
|
1091
|
+
|
1092
|
+
@property
|
1093
|
+
@pulumi.getter(name="compilationDiagnostics")
|
1094
|
+
def compilation_diagnostics(self) -> pulumi.Output[Sequence['outputs.RuleCompilationDiagnostic']]:
|
1095
|
+
"""
|
1096
|
+
Output only. A list of a rule's corresponding compilation diagnostic messages
|
1097
|
+
such as compilation errors and compilation warnings.
|
1098
|
+
Populated in FULL view.
|
1099
|
+
Structure is documented below.
|
1100
|
+
"""
|
1101
|
+
return pulumi.get(self, "compilation_diagnostics")
|
1102
|
+
|
1103
|
+
@property
|
1104
|
+
@pulumi.getter(name="compilationState")
|
1105
|
+
def compilation_state(self) -> pulumi.Output[str]:
|
1106
|
+
"""
|
1107
|
+
Output only. The current compilation state of the rule.
|
1108
|
+
Populated in FULL view.
|
1109
|
+
Possible values:
|
1110
|
+
COMPILATION_STATE_UNSPECIFIED
|
1111
|
+
SUCCEEDED
|
1112
|
+
FAILED
|
1113
|
+
"""
|
1114
|
+
return pulumi.get(self, "compilation_state")
|
1115
|
+
|
1116
|
+
@property
|
1117
|
+
@pulumi.getter(name="createTime")
|
1118
|
+
def create_time(self) -> pulumi.Output[str]:
|
1119
|
+
"""
|
1120
|
+
Output only. The timestamp of when the rule was created.
|
1121
|
+
Populated in FULL view.
|
1122
|
+
"""
|
1123
|
+
return pulumi.get(self, "create_time")
|
1124
|
+
|
1125
|
+
@property
|
1126
|
+
@pulumi.getter(name="dataTables")
|
1127
|
+
def data_tables(self) -> pulumi.Output[Sequence[str]]:
|
1128
|
+
"""
|
1129
|
+
Output only. Resource names of the data tables used in this rule.
|
1130
|
+
"""
|
1131
|
+
return pulumi.get(self, "data_tables")
|
1132
|
+
|
1133
|
+
@property
|
1134
|
+
@pulumi.getter(name="deletionPolicy")
|
1135
|
+
def deletion_policy(self) -> pulumi.Output[Optional[str]]:
|
1136
|
+
"""
|
1137
|
+
Policy to determine if the rule should be deleted forcefully.
|
1138
|
+
If deletion_policy = "FORCE", any retrohunts and any detections associated with the rule
|
1139
|
+
will also be deleted. If deletion_policy = "DEFAULT", the call will only succeed if the
|
1140
|
+
rule has no associated retrohunts, including completed retrohunts, and no
|
1141
|
+
associated detections. Regardless of this field's value, the rule
|
1142
|
+
deployment associated with this rule will also be deleted.
|
1143
|
+
Possible values: DEFAULT, FORCE
|
1144
|
+
"""
|
1145
|
+
return pulumi.get(self, "deletion_policy")
|
1146
|
+
|
1147
|
+
@property
|
1148
|
+
@pulumi.getter(name="displayName")
|
1149
|
+
def display_name(self) -> pulumi.Output[str]:
|
1150
|
+
"""
|
1151
|
+
The display name of the severity level. Extracted from the meta section of
|
1152
|
+
the rule text.
|
1153
|
+
"""
|
1154
|
+
return pulumi.get(self, "display_name")
|
1155
|
+
|
1156
|
+
@property
|
1157
|
+
@pulumi.getter
|
1158
|
+
def etag(self) -> pulumi.Output[str]:
|
1159
|
+
"""
|
1160
|
+
The etag for this rule.
|
1161
|
+
If this is provided on update, the request will succeed if and only if it
|
1162
|
+
matches the server-computed value, and will fail with an ABORTED error
|
1163
|
+
otherwise.
|
1164
|
+
Populated in BASIC view and FULL view.
|
1165
|
+
"""
|
1166
|
+
return pulumi.get(self, "etag")
|
1167
|
+
|
1168
|
+
@property
|
1169
|
+
@pulumi.getter
|
1170
|
+
def instance(self) -> pulumi.Output[str]:
|
1171
|
+
"""
|
1172
|
+
The unique identifier for the Chronicle instance, which is the same as the customer ID.
|
1173
|
+
|
1174
|
+
|
1175
|
+
- - -
|
1176
|
+
"""
|
1177
|
+
return pulumi.get(self, "instance")
|
1178
|
+
|
1179
|
+
@property
|
1180
|
+
@pulumi.getter
|
1181
|
+
def location(self) -> pulumi.Output[str]:
|
1182
|
+
"""
|
1183
|
+
The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
|
1184
|
+
"""
|
1185
|
+
return pulumi.get(self, "location")
|
1186
|
+
|
1187
|
+
@property
|
1188
|
+
@pulumi.getter
|
1189
|
+
def metadata(self) -> pulumi.Output[Mapping[str, str]]:
|
1190
|
+
"""
|
1191
|
+
Output only. Additional metadata specified in the meta section of text.
|
1192
|
+
Populated in FULL view.
|
1193
|
+
"""
|
1194
|
+
return pulumi.get(self, "metadata")
|
1195
|
+
|
1196
|
+
@property
|
1197
|
+
@pulumi.getter
|
1198
|
+
def name(self) -> pulumi.Output[str]:
|
1199
|
+
"""
|
1200
|
+
Full resource name for the rule. This unique identifier is generated using values provided for the URL parameters.
|
1201
|
+
Format:
|
1202
|
+
projects/{project}/locations/{location}/instances/{instance}/rules/{rule}
|
1203
|
+
"""
|
1204
|
+
return pulumi.get(self, "name")
|
1205
|
+
|
1206
|
+
@property
|
1207
|
+
@pulumi.getter(name="nearRealTimeLiveRuleEligible")
|
1208
|
+
def near_real_time_live_rule_eligible(self) -> pulumi.Output[bool]:
|
1209
|
+
"""
|
1210
|
+
Output only. Indicate the rule can run in near real time live rule.
|
1211
|
+
If this is true, the rule uses the near real time live rule when the run
|
1212
|
+
frequency is set to LIVE.
|
1213
|
+
"""
|
1214
|
+
return pulumi.get(self, "near_real_time_live_rule_eligible")
|
1215
|
+
|
1216
|
+
@property
|
1217
|
+
@pulumi.getter
|
1218
|
+
def project(self) -> pulumi.Output[str]:
|
1219
|
+
"""
|
1220
|
+
The ID of the project in which the resource belongs.
|
1221
|
+
If it is not provided, the provider project is used.
|
1222
|
+
"""
|
1223
|
+
return pulumi.get(self, "project")
|
1224
|
+
|
1225
|
+
@property
|
1226
|
+
@pulumi.getter(name="referenceLists")
|
1227
|
+
def reference_lists(self) -> pulumi.Output[Sequence[str]]:
|
1228
|
+
"""
|
1229
|
+
Output only. Resource names of the reference lists used in this rule.
|
1230
|
+
Populated in FULL view.
|
1231
|
+
"""
|
1232
|
+
return pulumi.get(self, "reference_lists")
|
1233
|
+
|
1234
|
+
@property
|
1235
|
+
@pulumi.getter(name="revisionCreateTime")
|
1236
|
+
def revision_create_time(self) -> pulumi.Output[str]:
|
1237
|
+
"""
|
1238
|
+
Output only. The timestamp of when the rule revision was created.
|
1239
|
+
Populated in FULL, REVISION_METADATA_ONLY views.
|
1240
|
+
"""
|
1241
|
+
return pulumi.get(self, "revision_create_time")
|
1242
|
+
|
1243
|
+
@property
|
1244
|
+
@pulumi.getter(name="revisionId")
|
1245
|
+
def revision_id(self) -> pulumi.Output[str]:
|
1246
|
+
"""
|
1247
|
+
Output only. The revision ID of the rule.
|
1248
|
+
A new revision is created whenever the rule text is changed in any way.
|
1249
|
+
Format: v_{10 digits}_{9 digits}
|
1250
|
+
Populated in REVISION_METADATA_ONLY view and FULL view.
|
1251
|
+
"""
|
1252
|
+
return pulumi.get(self, "revision_id")
|
1253
|
+
|
1254
|
+
@property
|
1255
|
+
@pulumi.getter(name="ruleId")
|
1256
|
+
def rule_id(self) -> pulumi.Output[str]:
|
1257
|
+
"""
|
1258
|
+
Rule Id is the ID of the Rule.
|
1259
|
+
"""
|
1260
|
+
return pulumi.get(self, "rule_id")
|
1261
|
+
|
1262
|
+
@property
|
1263
|
+
@pulumi.getter
|
1264
|
+
def scope(self) -> pulumi.Output[Optional[str]]:
|
1265
|
+
"""
|
1266
|
+
Resource name of the DataAccessScope bound to this rule.
|
1267
|
+
Populated in BASIC view and FULL view.
|
1268
|
+
If reference lists are used in the rule, validations will be performed
|
1269
|
+
against this scope to ensure that the reference lists are compatible with
|
1270
|
+
both the user's and the rule's scopes.
|
1271
|
+
The scope should be in the format:
|
1272
|
+
"projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{scope}".
|
1273
|
+
"""
|
1274
|
+
return pulumi.get(self, "scope")
|
1275
|
+
|
1276
|
+
@property
|
1277
|
+
@pulumi.getter
|
1278
|
+
def severities(self) -> pulumi.Output[Sequence['outputs.RuleSeverity']]:
|
1279
|
+
"""
|
1280
|
+
(Output)
|
1281
|
+
Output only. The severity of a rule's compilation diagnostic.
|
1282
|
+
Possible values:
|
1283
|
+
SEVERITY_UNSPECIFIED
|
1284
|
+
WARNING
|
1285
|
+
ERROR
|
1286
|
+
"""
|
1287
|
+
return pulumi.get(self, "severities")
|
1288
|
+
|
1289
|
+
@property
|
1290
|
+
@pulumi.getter
|
1291
|
+
def text(self) -> pulumi.Output[Optional[str]]:
|
1292
|
+
"""
|
1293
|
+
The YARA-L content of the rule.
|
1294
|
+
Populated in FULL view.
|
1295
|
+
"""
|
1296
|
+
return pulumi.get(self, "text")
|
1297
|
+
|
1298
|
+
@property
|
1299
|
+
@pulumi.getter
|
1300
|
+
def type(self) -> pulumi.Output[str]:
|
1301
|
+
"""
|
1302
|
+
Possible values:
|
1303
|
+
RULE_TYPE_UNSPECIFIED
|
1304
|
+
SINGLE_EVENT
|
1305
|
+
MULTI_EVENT
|
1306
|
+
"""
|
1307
|
+
return pulumi.get(self, "type")
|
1308
|
+
|