pulumi-gcp 8.17.0a1738090062__py3-none-any.whl → 8.17.0a1738349438__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,645 @@
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__ = ['RetrohuntArgs', 'Retrohunt']
20
+
21
+ @pulumi.input_type
22
+ class RetrohuntArgs:
23
+ def __init__(__self__, *,
24
+ instance: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ process_interval: pulumi.Input['RetrohuntProcessIntervalArgs'],
27
+ rule: pulumi.Input[str],
28
+ retrohunt_id: Optional[pulumi.Input[str]] = None,
29
+ project: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a Retrohunt resource.
32
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
33
+ :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".
34
+ :param pulumi.Input['RetrohuntProcessIntervalArgs'] process_interval: Represents a time interval, encoded as a Timestamp start (inclusive) and a
35
+ Timestamp end (exclusive).
36
+ The start must be less than or equal to the end.
37
+ When the start equals the end, the interval is empty (matches no time).
38
+ When both start and end are unspecified, the interval matches any time.
39
+ Structure is documented below.
40
+ :param pulumi.Input[str] rule: The Rule ID of the rule.
41
+ :param pulumi.Input[str] retrohunt_id: The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
42
+ """
43
+ pulumi.set(__self__, "instance", instance)
44
+ pulumi.set(__self__, "location", location)
45
+ pulumi.set(__self__, "process_interval", process_interval)
46
+ pulumi.set(__self__, "rule", rule)
47
+ if retrohunt_id is not None:
48
+ pulumi.set(__self__, "retrohunt_id", retrohunt_id)
49
+ if project is not None:
50
+ pulumi.set(__self__, "project", project)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def instance(self) -> pulumi.Input[str]:
55
+ """
56
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
57
+ """
58
+ return pulumi.get(self, "instance")
59
+
60
+ @instance.setter
61
+ def instance(self, value: pulumi.Input[str]):
62
+ pulumi.set(self, "instance", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def location(self) -> pulumi.Input[str]:
67
+ """
68
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
69
+ """
70
+ return pulumi.get(self, "location")
71
+
72
+ @location.setter
73
+ def location(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "location", value)
75
+
76
+ @property
77
+ @pulumi.getter(name="processInterval")
78
+ def process_interval(self) -> pulumi.Input['RetrohuntProcessIntervalArgs']:
79
+ """
80
+ Represents a time interval, encoded as a Timestamp start (inclusive) and a
81
+ Timestamp end (exclusive).
82
+ The start must be less than or equal to the end.
83
+ When the start equals the end, the interval is empty (matches no time).
84
+ When both start and end are unspecified, the interval matches any time.
85
+ Structure is documented below.
86
+ """
87
+ return pulumi.get(self, "process_interval")
88
+
89
+ @process_interval.setter
90
+ def process_interval(self, value: pulumi.Input['RetrohuntProcessIntervalArgs']):
91
+ pulumi.set(self, "process_interval", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def rule(self) -> pulumi.Input[str]:
96
+ """
97
+ The Rule ID of the rule.
98
+ """
99
+ return pulumi.get(self, "rule")
100
+
101
+ @rule.setter
102
+ def rule(self, value: pulumi.Input[str]):
103
+ pulumi.set(self, "rule", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="RetrohuntId")
107
+ def retrohunt_id(self) -> Optional[pulumi.Input[str]]:
108
+ """
109
+ The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
110
+ """
111
+ return pulumi.get(self, "retrohunt_id")
112
+
113
+ @retrohunt_id.setter
114
+ def retrohunt_id(self, value: Optional[pulumi.Input[str]]):
115
+ pulumi.set(self, "retrohunt_id", value)
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def project(self) -> Optional[pulumi.Input[str]]:
120
+ return pulumi.get(self, "project")
121
+
122
+ @project.setter
123
+ def project(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "project", value)
125
+
126
+
127
+ @pulumi.input_type
128
+ class _RetrohuntState:
129
+ def __init__(__self__, *,
130
+ retrohunt_id: Optional[pulumi.Input[str]] = None,
131
+ execution_intervals: Optional[pulumi.Input[Sequence[pulumi.Input['RetrohuntExecutionIntervalArgs']]]] = None,
132
+ instance: Optional[pulumi.Input[str]] = None,
133
+ location: Optional[pulumi.Input[str]] = None,
134
+ name: Optional[pulumi.Input[str]] = None,
135
+ process_interval: Optional[pulumi.Input['RetrohuntProcessIntervalArgs']] = None,
136
+ progress_percentage: Optional[pulumi.Input[float]] = None,
137
+ project: Optional[pulumi.Input[str]] = None,
138
+ rule: Optional[pulumi.Input[str]] = None,
139
+ state: Optional[pulumi.Input[str]] = None):
140
+ """
141
+ Input properties used for looking up and filtering Retrohunt resources.
142
+ :param pulumi.Input[str] retrohunt_id: The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
143
+ :param pulumi.Input[Sequence[pulumi.Input['RetrohuntExecutionIntervalArgs']]] execution_intervals: Represents a time interval, encoded as a Timestamp start (inclusive) and a
144
+ Timestamp end (exclusive).
145
+ The start must be less than or equal to the end.
146
+ When the start equals the end, the interval is empty (matches no time).
147
+ When both start and end are unspecified, the interval matches any time.
148
+ Structure is documented below.
149
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
150
+ :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".
151
+ :param pulumi.Input[str] name: The resource name of the retrohunt.
152
+ Retrohunt is the child of a rule revision. {rule} in the format below is
153
+ structured as {rule_id@revision_id}.
154
+ Format:
155
+ projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}
156
+ :param pulumi.Input['RetrohuntProcessIntervalArgs'] process_interval: Represents a time interval, encoded as a Timestamp start (inclusive) and a
157
+ Timestamp end (exclusive).
158
+ The start must be less than or equal to the end.
159
+ When the start equals the end, the interval is empty (matches no time).
160
+ When both start and end are unspecified, the interval matches any time.
161
+ Structure is documented below.
162
+ :param pulumi.Input[float] progress_percentage: Output only. Percent progress of the retrohunt towards completion, from 0.00 to 100.00.
163
+ :param pulumi.Input[str] rule: The Rule ID of the rule.
164
+ :param pulumi.Input[str] state: Output only. The state of the retrohunt.
165
+ Possible values:
166
+ RUNNING
167
+ DONE
168
+ CANCELLED
169
+ FAILED
170
+ """
171
+ if retrohunt_id is not None:
172
+ pulumi.set(__self__, "retrohunt_id", retrohunt_id)
173
+ if execution_intervals is not None:
174
+ pulumi.set(__self__, "execution_intervals", execution_intervals)
175
+ if instance is not None:
176
+ pulumi.set(__self__, "instance", instance)
177
+ if location is not None:
178
+ pulumi.set(__self__, "location", location)
179
+ if name is not None:
180
+ pulumi.set(__self__, "name", name)
181
+ if process_interval is not None:
182
+ pulumi.set(__self__, "process_interval", process_interval)
183
+ if progress_percentage is not None:
184
+ pulumi.set(__self__, "progress_percentage", progress_percentage)
185
+ if project is not None:
186
+ pulumi.set(__self__, "project", project)
187
+ if rule is not None:
188
+ pulumi.set(__self__, "rule", rule)
189
+ if state is not None:
190
+ pulumi.set(__self__, "state", state)
191
+
192
+ @property
193
+ @pulumi.getter(name="RetrohuntId")
194
+ def retrohunt_id(self) -> Optional[pulumi.Input[str]]:
195
+ """
196
+ The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
197
+ """
198
+ return pulumi.get(self, "retrohunt_id")
199
+
200
+ @retrohunt_id.setter
201
+ def retrohunt_id(self, value: Optional[pulumi.Input[str]]):
202
+ pulumi.set(self, "retrohunt_id", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="executionIntervals")
206
+ def execution_intervals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RetrohuntExecutionIntervalArgs']]]]:
207
+ """
208
+ Represents a time interval, encoded as a Timestamp start (inclusive) and a
209
+ Timestamp end (exclusive).
210
+ The start must be less than or equal to the end.
211
+ When the start equals the end, the interval is empty (matches no time).
212
+ When both start and end are unspecified, the interval matches any time.
213
+ Structure is documented below.
214
+ """
215
+ return pulumi.get(self, "execution_intervals")
216
+
217
+ @execution_intervals.setter
218
+ def execution_intervals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RetrohuntExecutionIntervalArgs']]]]):
219
+ pulumi.set(self, "execution_intervals", value)
220
+
221
+ @property
222
+ @pulumi.getter
223
+ def instance(self) -> Optional[pulumi.Input[str]]:
224
+ """
225
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
226
+ """
227
+ return pulumi.get(self, "instance")
228
+
229
+ @instance.setter
230
+ def instance(self, value: Optional[pulumi.Input[str]]):
231
+ pulumi.set(self, "instance", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def location(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
238
+ """
239
+ return pulumi.get(self, "location")
240
+
241
+ @location.setter
242
+ def location(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "location", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def name(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The resource name of the retrohunt.
250
+ Retrohunt is the child of a rule revision. {rule} in the format below is
251
+ structured as {rule_id@revision_id}.
252
+ Format:
253
+ projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}
254
+ """
255
+ return pulumi.get(self, "name")
256
+
257
+ @name.setter
258
+ def name(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "name", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="processInterval")
263
+ def process_interval(self) -> Optional[pulumi.Input['RetrohuntProcessIntervalArgs']]:
264
+ """
265
+ Represents a time interval, encoded as a Timestamp start (inclusive) and a
266
+ Timestamp end (exclusive).
267
+ The start must be less than or equal to the end.
268
+ When the start equals the end, the interval is empty (matches no time).
269
+ When both start and end are unspecified, the interval matches any time.
270
+ Structure is documented below.
271
+ """
272
+ return pulumi.get(self, "process_interval")
273
+
274
+ @process_interval.setter
275
+ def process_interval(self, value: Optional[pulumi.Input['RetrohuntProcessIntervalArgs']]):
276
+ pulumi.set(self, "process_interval", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="progressPercentage")
280
+ def progress_percentage(self) -> Optional[pulumi.Input[float]]:
281
+ """
282
+ Output only. Percent progress of the retrohunt towards completion, from 0.00 to 100.00.
283
+ """
284
+ return pulumi.get(self, "progress_percentage")
285
+
286
+ @progress_percentage.setter
287
+ def progress_percentage(self, value: Optional[pulumi.Input[float]]):
288
+ pulumi.set(self, "progress_percentage", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def project(self) -> Optional[pulumi.Input[str]]:
293
+ return pulumi.get(self, "project")
294
+
295
+ @project.setter
296
+ def project(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "project", value)
298
+
299
+ @property
300
+ @pulumi.getter
301
+ def rule(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The Rule ID of the rule.
304
+ """
305
+ return pulumi.get(self, "rule")
306
+
307
+ @rule.setter
308
+ def rule(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "rule", value)
310
+
311
+ @property
312
+ @pulumi.getter
313
+ def state(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ Output only. The state of the retrohunt.
316
+ Possible values:
317
+ RUNNING
318
+ DONE
319
+ CANCELLED
320
+ FAILED
321
+ """
322
+ return pulumi.get(self, "state")
323
+
324
+ @state.setter
325
+ def state(self, value: Optional[pulumi.Input[str]]):
326
+ pulumi.set(self, "state", value)
327
+
328
+
329
+ class Retrohunt(pulumi.CustomResource):
330
+ @overload
331
+ def __init__(__self__,
332
+ resource_name: str,
333
+ opts: Optional[pulumi.ResourceOptions] = None,
334
+ retrohunt_id: Optional[pulumi.Input[str]] = None,
335
+ instance: Optional[pulumi.Input[str]] = None,
336
+ location: Optional[pulumi.Input[str]] = None,
337
+ process_interval: Optional[pulumi.Input[Union['RetrohuntProcessIntervalArgs', 'RetrohuntProcessIntervalArgsDict']]] = None,
338
+ project: Optional[pulumi.Input[str]] = None,
339
+ rule: Optional[pulumi.Input[str]] = None,
340
+ __props__=None):
341
+ """
342
+ Retrohunt is an execution of a Rule over a time range in the past.
343
+
344
+ To get more information about Retrohunt, see:
345
+
346
+ * [API documentation](https://cloud.google.com/chronicle/docs/reference/rest/v1alpha/projects.locations.instances.rules.retrohunts)
347
+ * How-to Guides
348
+ * [Google SecOps Guides](https://cloud.google.com/chronicle/docs/secops/secops-overview)
349
+
350
+ ## Example Usage
351
+
352
+ ## Import
353
+
354
+ Retrohunt can be imported using any of these accepted formats:
355
+
356
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule}}/retrohunts/{{retrohunt}}`
357
+
358
+ * `{{project}}/{{location}}/{{instance}}/{{rule}}/{{retrohunt}}`
359
+
360
+ * `{{location}}/{{instance}}/{{rule}}/{{retrohunt}}`
361
+
362
+ When using the `pulumi import` command, Retrohunt can be imported using one of the formats above. For example:
363
+
364
+ ```sh
365
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule}}/retrohunts/{{retrohunt}}
366
+ ```
367
+
368
+ ```sh
369
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default {{project}}/{{location}}/{{instance}}/{{rule}}/{{retrohunt}}
370
+ ```
371
+
372
+ ```sh
373
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default {{location}}/{{instance}}/{{rule}}/{{retrohunt}}
374
+ ```
375
+
376
+ :param str resource_name: The name of the resource.
377
+ :param pulumi.ResourceOptions opts: Options for the resource.
378
+ :param pulumi.Input[str] retrohunt_id: The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
379
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
380
+ :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".
381
+ :param pulumi.Input[Union['RetrohuntProcessIntervalArgs', 'RetrohuntProcessIntervalArgsDict']] process_interval: Represents a time interval, encoded as a Timestamp start (inclusive) and a
382
+ Timestamp end (exclusive).
383
+ The start must be less than or equal to the end.
384
+ When the start equals the end, the interval is empty (matches no time).
385
+ When both start and end are unspecified, the interval matches any time.
386
+ Structure is documented below.
387
+ :param pulumi.Input[str] rule: The Rule ID of the rule.
388
+ """
389
+ ...
390
+ @overload
391
+ def __init__(__self__,
392
+ resource_name: str,
393
+ args: RetrohuntArgs,
394
+ opts: Optional[pulumi.ResourceOptions] = None):
395
+ """
396
+ Retrohunt is an execution of a Rule over a time range in the past.
397
+
398
+ To get more information about Retrohunt, see:
399
+
400
+ * [API documentation](https://cloud.google.com/chronicle/docs/reference/rest/v1alpha/projects.locations.instances.rules.retrohunts)
401
+ * How-to Guides
402
+ * [Google SecOps Guides](https://cloud.google.com/chronicle/docs/secops/secops-overview)
403
+
404
+ ## Example Usage
405
+
406
+ ## Import
407
+
408
+ Retrohunt can be imported using any of these accepted formats:
409
+
410
+ * `projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule}}/retrohunts/{{retrohunt}}`
411
+
412
+ * `{{project}}/{{location}}/{{instance}}/{{rule}}/{{retrohunt}}`
413
+
414
+ * `{{location}}/{{instance}}/{{rule}}/{{retrohunt}}`
415
+
416
+ When using the `pulumi import` command, Retrohunt can be imported using one of the formats above. For example:
417
+
418
+ ```sh
419
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default projects/{{project}}/locations/{{location}}/instances/{{instance}}/rules/{{rule}}/retrohunts/{{retrohunt}}
420
+ ```
421
+
422
+ ```sh
423
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default {{project}}/{{location}}/{{instance}}/{{rule}}/{{retrohunt}}
424
+ ```
425
+
426
+ ```sh
427
+ $ pulumi import gcp:chronicle/retrohunt:Retrohunt default {{location}}/{{instance}}/{{rule}}/{{retrohunt}}
428
+ ```
429
+
430
+ :param str resource_name: The name of the resource.
431
+ :param RetrohuntArgs args: The arguments to use to populate this resource's properties.
432
+ :param pulumi.ResourceOptions opts: Options for the resource.
433
+ """
434
+ ...
435
+ def __init__(__self__, resource_name: str, *args, **kwargs):
436
+ resource_args, opts = _utilities.get_resource_args_opts(RetrohuntArgs, pulumi.ResourceOptions, *args, **kwargs)
437
+ if resource_args is not None:
438
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
439
+ else:
440
+ __self__._internal_init(resource_name, *args, **kwargs)
441
+
442
+ def _internal_init(__self__,
443
+ resource_name: str,
444
+ opts: Optional[pulumi.ResourceOptions] = None,
445
+ retrohunt_id: Optional[pulumi.Input[str]] = None,
446
+ instance: Optional[pulumi.Input[str]] = None,
447
+ location: Optional[pulumi.Input[str]] = None,
448
+ process_interval: Optional[pulumi.Input[Union['RetrohuntProcessIntervalArgs', 'RetrohuntProcessIntervalArgsDict']]] = None,
449
+ project: Optional[pulumi.Input[str]] = None,
450
+ rule: Optional[pulumi.Input[str]] = None,
451
+ __props__=None):
452
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
453
+ if not isinstance(opts, pulumi.ResourceOptions):
454
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
455
+ if opts.id is None:
456
+ if __props__ is not None:
457
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
458
+ __props__ = RetrohuntArgs.__new__(RetrohuntArgs)
459
+
460
+ __props__.__dict__["retrohunt_id"] = retrohunt_id
461
+ if instance is None and not opts.urn:
462
+ raise TypeError("Missing required property 'instance'")
463
+ __props__.__dict__["instance"] = instance
464
+ if location is None and not opts.urn:
465
+ raise TypeError("Missing required property 'location'")
466
+ __props__.__dict__["location"] = location
467
+ if process_interval is None and not opts.urn:
468
+ raise TypeError("Missing required property 'process_interval'")
469
+ __props__.__dict__["process_interval"] = process_interval
470
+ __props__.__dict__["project"] = project
471
+ if rule is None and not opts.urn:
472
+ raise TypeError("Missing required property 'rule'")
473
+ __props__.__dict__["rule"] = rule
474
+ __props__.__dict__["execution_intervals"] = None
475
+ __props__.__dict__["name"] = None
476
+ __props__.__dict__["progress_percentage"] = None
477
+ __props__.__dict__["state"] = None
478
+ super(Retrohunt, __self__).__init__(
479
+ 'gcp:chronicle/retrohunt:Retrohunt',
480
+ resource_name,
481
+ __props__,
482
+ opts)
483
+
484
+ @staticmethod
485
+ def get(resource_name: str,
486
+ id: pulumi.Input[str],
487
+ opts: Optional[pulumi.ResourceOptions] = None,
488
+ retrohunt_id: Optional[pulumi.Input[str]] = None,
489
+ execution_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RetrohuntExecutionIntervalArgs', 'RetrohuntExecutionIntervalArgsDict']]]]] = None,
490
+ instance: Optional[pulumi.Input[str]] = None,
491
+ location: Optional[pulumi.Input[str]] = None,
492
+ name: Optional[pulumi.Input[str]] = None,
493
+ process_interval: Optional[pulumi.Input[Union['RetrohuntProcessIntervalArgs', 'RetrohuntProcessIntervalArgsDict']]] = None,
494
+ progress_percentage: Optional[pulumi.Input[float]] = None,
495
+ project: Optional[pulumi.Input[str]] = None,
496
+ rule: Optional[pulumi.Input[str]] = None,
497
+ state: Optional[pulumi.Input[str]] = None) -> 'Retrohunt':
498
+ """
499
+ Get an existing Retrohunt resource's state with the given name, id, and optional extra
500
+ properties used to qualify the lookup.
501
+
502
+ :param str resource_name: The unique name of the resulting resource.
503
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
504
+ :param pulumi.ResourceOptions opts: Options for the resource.
505
+ :param pulumi.Input[str] retrohunt_id: The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
506
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RetrohuntExecutionIntervalArgs', 'RetrohuntExecutionIntervalArgsDict']]]] execution_intervals: Represents a time interval, encoded as a Timestamp start (inclusive) and a
507
+ Timestamp end (exclusive).
508
+ The start must be less than or equal to the end.
509
+ When the start equals the end, the interval is empty (matches no time).
510
+ When both start and end are unspecified, the interval matches any time.
511
+ Structure is documented below.
512
+ :param pulumi.Input[str] instance: The unique identifier for the Chronicle instance, which is the same as the customer ID.
513
+ :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".
514
+ :param pulumi.Input[str] name: The resource name of the retrohunt.
515
+ Retrohunt is the child of a rule revision. {rule} in the format below is
516
+ structured as {rule_id@revision_id}.
517
+ Format:
518
+ projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}
519
+ :param pulumi.Input[Union['RetrohuntProcessIntervalArgs', 'RetrohuntProcessIntervalArgsDict']] process_interval: Represents a time interval, encoded as a Timestamp start (inclusive) and a
520
+ Timestamp end (exclusive).
521
+ The start must be less than or equal to the end.
522
+ When the start equals the end, the interval is empty (matches no time).
523
+ When both start and end are unspecified, the interval matches any time.
524
+ Structure is documented below.
525
+ :param pulumi.Input[float] progress_percentage: Output only. Percent progress of the retrohunt towards completion, from 0.00 to 100.00.
526
+ :param pulumi.Input[str] rule: The Rule ID of the rule.
527
+ :param pulumi.Input[str] state: Output only. The state of the retrohunt.
528
+ Possible values:
529
+ RUNNING
530
+ DONE
531
+ CANCELLED
532
+ FAILED
533
+ """
534
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
535
+
536
+ __props__ = _RetrohuntState.__new__(_RetrohuntState)
537
+
538
+ __props__.__dict__["retrohunt_id"] = retrohunt_id
539
+ __props__.__dict__["execution_intervals"] = execution_intervals
540
+ __props__.__dict__["instance"] = instance
541
+ __props__.__dict__["location"] = location
542
+ __props__.__dict__["name"] = name
543
+ __props__.__dict__["process_interval"] = process_interval
544
+ __props__.__dict__["progress_percentage"] = progress_percentage
545
+ __props__.__dict__["project"] = project
546
+ __props__.__dict__["rule"] = rule
547
+ __props__.__dict__["state"] = state
548
+ return Retrohunt(resource_name, opts=opts, __props__=__props__)
549
+
550
+ @property
551
+ @pulumi.getter(name="RetrohuntId")
552
+ def retrohunt_id(self) -> pulumi.Output[str]:
553
+ """
554
+ The retrohunt ID of the Retrohunt. A retrohunt is an execution of a Rule over a time range in the past.
555
+ """
556
+ return pulumi.get(self, "retrohunt_id")
557
+
558
+ @property
559
+ @pulumi.getter(name="executionIntervals")
560
+ def execution_intervals(self) -> pulumi.Output[Sequence['outputs.RetrohuntExecutionInterval']]:
561
+ """
562
+ Represents a time interval, encoded as a Timestamp start (inclusive) and a
563
+ Timestamp end (exclusive).
564
+ The start must be less than or equal to the end.
565
+ When the start equals the end, the interval is empty (matches no time).
566
+ When both start and end are unspecified, the interval matches any time.
567
+ Structure is documented below.
568
+ """
569
+ return pulumi.get(self, "execution_intervals")
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def instance(self) -> pulumi.Output[str]:
574
+ """
575
+ The unique identifier for the Chronicle instance, which is the same as the customer ID.
576
+ """
577
+ return pulumi.get(self, "instance")
578
+
579
+ @property
580
+ @pulumi.getter
581
+ def location(self) -> pulumi.Output[str]:
582
+ """
583
+ The location of the resource. This is the geographical region where the Chronicle instance resides, such as "us" or "europe-west2".
584
+ """
585
+ return pulumi.get(self, "location")
586
+
587
+ @property
588
+ @pulumi.getter
589
+ def name(self) -> pulumi.Output[str]:
590
+ """
591
+ The resource name of the retrohunt.
592
+ Retrohunt is the child of a rule revision. {rule} in the format below is
593
+ structured as {rule_id@revision_id}.
594
+ Format:
595
+ projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}
596
+ """
597
+ return pulumi.get(self, "name")
598
+
599
+ @property
600
+ @pulumi.getter(name="processInterval")
601
+ def process_interval(self) -> pulumi.Output['outputs.RetrohuntProcessInterval']:
602
+ """
603
+ Represents a time interval, encoded as a Timestamp start (inclusive) and a
604
+ Timestamp end (exclusive).
605
+ The start must be less than or equal to the end.
606
+ When the start equals the end, the interval is empty (matches no time).
607
+ When both start and end are unspecified, the interval matches any time.
608
+ Structure is documented below.
609
+ """
610
+ return pulumi.get(self, "process_interval")
611
+
612
+ @property
613
+ @pulumi.getter(name="progressPercentage")
614
+ def progress_percentage(self) -> pulumi.Output[float]:
615
+ """
616
+ Output only. Percent progress of the retrohunt towards completion, from 0.00 to 100.00.
617
+ """
618
+ return pulumi.get(self, "progress_percentage")
619
+
620
+ @property
621
+ @pulumi.getter
622
+ def project(self) -> pulumi.Output[str]:
623
+ return pulumi.get(self, "project")
624
+
625
+ @property
626
+ @pulumi.getter
627
+ def rule(self) -> pulumi.Output[str]:
628
+ """
629
+ The Rule ID of the rule.
630
+ """
631
+ return pulumi.get(self, "rule")
632
+
633
+ @property
634
+ @pulumi.getter
635
+ def state(self) -> pulumi.Output[str]:
636
+ """
637
+ Output only. The state of the retrohunt.
638
+ Possible values:
639
+ RUNNING
640
+ DONE
641
+ CANCELLED
642
+ FAILED
643
+ """
644
+ return pulumi.get(self, "state")
645
+