pulumi-signalfx 7.2.0a1710160099__py3-none-any.whl → 7.6.0a1736849687__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 (54) hide show
  1. pulumi_signalfx/__init__.py +9 -0
  2. pulumi_signalfx/_inputs.py +1976 -339
  3. pulumi_signalfx/_utilities.py +41 -5
  4. pulumi_signalfx/alert_muting_rule.py +126 -72
  5. pulumi_signalfx/aws/_inputs.py +85 -16
  6. pulumi_signalfx/aws/external_integration.py +20 -43
  7. pulumi_signalfx/aws/integration.py +252 -321
  8. pulumi_signalfx/aws/outputs.py +21 -16
  9. pulumi_signalfx/aws/token_integration.py +76 -31
  10. pulumi_signalfx/azure/_inputs.py +41 -4
  11. pulumi_signalfx/azure/integration.py +170 -217
  12. pulumi_signalfx/azure/outputs.py +15 -4
  13. pulumi_signalfx/config/__init__.pyi +22 -0
  14. pulumi_signalfx/config/vars.py +28 -0
  15. pulumi_signalfx/dashboard.py +171 -186
  16. pulumi_signalfx/dashboard_group.py +191 -140
  17. pulumi_signalfx/data_link.py +102 -109
  18. pulumi_signalfx/detector.py +318 -383
  19. pulumi_signalfx/event_feed_chart.py +51 -86
  20. pulumi_signalfx/gcp/_inputs.py +51 -0
  21. pulumi_signalfx/gcp/integration.py +224 -148
  22. pulumi_signalfx/gcp/outputs.py +44 -0
  23. pulumi_signalfx/get_dimension_values.py +47 -8
  24. pulumi_signalfx/heatmap_chart.py +191 -174
  25. pulumi_signalfx/jira/integration.py +86 -103
  26. pulumi_signalfx/list_chart.py +243 -255
  27. pulumi_signalfx/log/_inputs.py +33 -2
  28. pulumi_signalfx/log/outputs.py +7 -2
  29. pulumi_signalfx/log/timeline.py +76 -87
  30. pulumi_signalfx/log/view.py +146 -113
  31. pulumi_signalfx/metric_ruleset.py +213 -70
  32. pulumi_signalfx/opsgenie/integration.py +51 -50
  33. pulumi_signalfx/org_token.py +111 -104
  34. pulumi_signalfx/outputs.py +661 -339
  35. pulumi_signalfx/pagerduty/get_integration.py +22 -25
  36. pulumi_signalfx/pagerduty/integration.py +42 -39
  37. pulumi_signalfx/provider.py +99 -0
  38. pulumi_signalfx/pulumi-plugin.json +2 -1
  39. pulumi_signalfx/servicenow/integration.py +68 -95
  40. pulumi_signalfx/single_value_chart.py +131 -162
  41. pulumi_signalfx/slack/integration.py +42 -41
  42. pulumi_signalfx/slo.py +97 -243
  43. pulumi_signalfx/slo_chart.py +197 -0
  44. pulumi_signalfx/table_chart.py +66 -65
  45. pulumi_signalfx/team.py +100 -107
  46. pulumi_signalfx/text_chart.py +72 -45
  47. pulumi_signalfx/time_chart.py +287 -352
  48. pulumi_signalfx/victorops/integration.py +42 -41
  49. pulumi_signalfx/webhook_integration.py +168 -61
  50. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/METADATA +7 -6
  51. pulumi_signalfx-7.6.0a1736849687.dist-info/RECORD +65 -0
  52. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/WHEEL +1 -1
  53. pulumi_signalfx-7.2.0a1710160099.dist-info/RECORD +0 -64
  54. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -21,11 +26,13 @@ class DetectorArgs:
21
26
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22
27
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
28
  description: Optional[pulumi.Input[str]] = None,
29
+ detector_origin: Optional[pulumi.Input[str]] = None,
24
30
  disable_sampling: Optional[pulumi.Input[bool]] = None,
25
31
  end_time: Optional[pulumi.Input[int]] = None,
26
32
  max_delay: Optional[pulumi.Input[int]] = None,
27
33
  min_delay: Optional[pulumi.Input[int]] = None,
28
34
  name: Optional[pulumi.Input[str]] = None,
35
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
29
36
  show_data_markers: Optional[pulumi.Input[bool]] = None,
30
37
  show_event_lines: Optional[pulumi.Input[bool]] = None,
31
38
  start_time: Optional[pulumi.Input[int]] = None,
@@ -36,26 +43,26 @@ class DetectorArgs:
36
43
  viz_options: Optional[pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]]] = None):
37
44
  """
38
45
  The set of arguments for constructing a Detector resource.
39
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
40
- :param pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]] rules: Set of rules used for alerting
41
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
42
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
43
- :param pulumi.Input[str] description: Description of the detector
44
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
45
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
46
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
47
- :param pulumi.Input[int] min_delay: Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
48
- is 900 (15m)
49
- :param pulumi.Input[str] name: Name of the detector
50
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
51
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
52
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
53
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
54
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
55
- :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
56
- to 3600
46
+ :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
47
+ :param pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]] rules: Set of rules used for alerting.
48
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
49
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
50
+ :param pulumi.Input[str] description: Description of the detector.
51
+ :param pulumi.Input[str] detector_origin: Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
52
+ :param pulumi.Input[bool] disable_sampling: When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
53
+ :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
54
+ :param pulumi.Input[int] max_delay: allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
55
+ :param pulumi.Input[int] min_delay: How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
56
+ :param pulumi.Input[str] name: Name of the detector.
57
+ :param pulumi.Input[str] parent_detector_id: ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
58
+ :param pulumi.Input[bool] show_data_markers: When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
59
+ :param pulumi.Input[bool] show_event_lines: When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
60
+ :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
61
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector.
62
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to.
63
+ :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
57
64
  :param pulumi.Input[str] timezone: The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
58
- :param pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]] viz_options: Plot-level customization options, associated with a publish statement
65
+ :param pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]] viz_options: Plot-level customization options, associated with a publish statement.
59
66
  """
60
67
  pulumi.set(__self__, "program_text", program_text)
61
68
  pulumi.set(__self__, "rules", rules)
@@ -65,6 +72,8 @@ class DetectorArgs:
65
72
  pulumi.set(__self__, "authorized_writer_users", authorized_writer_users)
66
73
  if description is not None:
67
74
  pulumi.set(__self__, "description", description)
75
+ if detector_origin is not None:
76
+ pulumi.set(__self__, "detector_origin", detector_origin)
68
77
  if disable_sampling is not None:
69
78
  pulumi.set(__self__, "disable_sampling", disable_sampling)
70
79
  if end_time is not None:
@@ -75,6 +84,8 @@ class DetectorArgs:
75
84
  pulumi.set(__self__, "min_delay", min_delay)
76
85
  if name is not None:
77
86
  pulumi.set(__self__, "name", name)
87
+ if parent_detector_id is not None:
88
+ pulumi.set(__self__, "parent_detector_id", parent_detector_id)
78
89
  if show_data_markers is not None:
79
90
  pulumi.set(__self__, "show_data_markers", show_data_markers)
80
91
  if show_event_lines is not None:
@@ -96,7 +107,7 @@ class DetectorArgs:
96
107
  @pulumi.getter(name="programText")
97
108
  def program_text(self) -> pulumi.Input[str]:
98
109
  """
99
- Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
110
+ Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
100
111
  """
101
112
  return pulumi.get(self, "program_text")
102
113
 
@@ -108,7 +119,7 @@ class DetectorArgs:
108
119
  @pulumi.getter
109
120
  def rules(self) -> pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]]:
110
121
  """
111
- Set of rules used for alerting
122
+ Set of rules used for alerting.
112
123
  """
113
124
  return pulumi.get(self, "rules")
114
125
 
@@ -120,7 +131,7 @@ class DetectorArgs:
120
131
  @pulumi.getter(name="authorizedWriterTeams")
121
132
  def authorized_writer_teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
122
133
  """
123
- Team IDs that have write access to this dashboard
134
+ Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
124
135
  """
125
136
  return pulumi.get(self, "authorized_writer_teams")
126
137
 
@@ -132,7 +143,7 @@ class DetectorArgs:
132
143
  @pulumi.getter(name="authorizedWriterUsers")
133
144
  def authorized_writer_users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
134
145
  """
135
- User IDs that have write access to this dashboard
146
+ User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
136
147
  """
137
148
  return pulumi.get(self, "authorized_writer_users")
138
149
 
@@ -144,7 +155,7 @@ class DetectorArgs:
144
155
  @pulumi.getter
145
156
  def description(self) -> Optional[pulumi.Input[str]]:
146
157
  """
147
- Description of the detector
158
+ Description of the detector.
148
159
  """
149
160
  return pulumi.get(self, "description")
150
161
 
@@ -152,11 +163,23 @@ class DetectorArgs:
152
163
  def description(self, value: Optional[pulumi.Input[str]]):
153
164
  pulumi.set(self, "description", value)
154
165
 
166
+ @property
167
+ @pulumi.getter(name="detectorOrigin")
168
+ def detector_origin(self) -> Optional[pulumi.Input[str]]:
169
+ """
170
+ Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
171
+ """
172
+ return pulumi.get(self, "detector_origin")
173
+
174
+ @detector_origin.setter
175
+ def detector_origin(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "detector_origin", value)
177
+
155
178
  @property
156
179
  @pulumi.getter(name="disableSampling")
157
180
  def disable_sampling(self) -> Optional[pulumi.Input[bool]]:
158
181
  """
159
- (false by default) When false, samples a subset of the output MTS in the visualization.
182
+ When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
160
183
  """
161
184
  return pulumi.get(self, "disable_sampling")
162
185
 
@@ -168,7 +191,7 @@ class DetectorArgs:
168
191
  @pulumi.getter(name="endTime")
169
192
  def end_time(self) -> Optional[pulumi.Input[int]]:
170
193
  """
171
- Seconds since epoch. Used for visualization
194
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
172
195
  """
173
196
  return pulumi.get(self, "end_time")
174
197
 
@@ -180,7 +203,7 @@ class DetectorArgs:
180
203
  @pulumi.getter(name="maxDelay")
181
204
  def max_delay(self) -> Optional[pulumi.Input[int]]:
182
205
  """
183
- Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
206
+ allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
184
207
  """
185
208
  return pulumi.get(self, "max_delay")
186
209
 
@@ -192,8 +215,7 @@ class DetectorArgs:
192
215
  @pulumi.getter(name="minDelay")
193
216
  def min_delay(self) -> Optional[pulumi.Input[int]]:
194
217
  """
195
- Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
196
- is 900 (15m)
218
+ How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
197
219
  """
198
220
  return pulumi.get(self, "min_delay")
199
221
 
@@ -205,7 +227,7 @@ class DetectorArgs:
205
227
  @pulumi.getter
206
228
  def name(self) -> Optional[pulumi.Input[str]]:
207
229
  """
208
- Name of the detector
230
+ Name of the detector.
209
231
  """
210
232
  return pulumi.get(self, "name")
211
233
 
@@ -213,11 +235,23 @@ class DetectorArgs:
213
235
  def name(self, value: Optional[pulumi.Input[str]]):
214
236
  pulumi.set(self, "name", value)
215
237
 
238
+ @property
239
+ @pulumi.getter(name="parentDetectorId")
240
+ def parent_detector_id(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
243
+ """
244
+ return pulumi.get(self, "parent_detector_id")
245
+
246
+ @parent_detector_id.setter
247
+ def parent_detector_id(self, value: Optional[pulumi.Input[str]]):
248
+ pulumi.set(self, "parent_detector_id", value)
249
+
216
250
  @property
217
251
  @pulumi.getter(name="showDataMarkers")
218
252
  def show_data_markers(self) -> Optional[pulumi.Input[bool]]:
219
253
  """
220
- (true by default) When true, markers will be drawn for each datapoint within the visualization.
254
+ When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
221
255
  """
222
256
  return pulumi.get(self, "show_data_markers")
223
257
 
@@ -229,7 +263,7 @@ class DetectorArgs:
229
263
  @pulumi.getter(name="showEventLines")
230
264
  def show_event_lines(self) -> Optional[pulumi.Input[bool]]:
231
265
  """
232
- (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
266
+ When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
233
267
  """
234
268
  return pulumi.get(self, "show_event_lines")
235
269
 
@@ -241,7 +275,7 @@ class DetectorArgs:
241
275
  @pulumi.getter(name="startTime")
242
276
  def start_time(self) -> Optional[pulumi.Input[int]]:
243
277
  """
244
- Seconds since epoch. Used for visualization
278
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
245
279
  """
246
280
  return pulumi.get(self, "start_time")
247
281
 
@@ -253,7 +287,7 @@ class DetectorArgs:
253
287
  @pulumi.getter
254
288
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
255
289
  """
256
- Tags associated with the detector
290
+ Tags associated with the detector.
257
291
  """
258
292
  return pulumi.get(self, "tags")
259
293
 
@@ -265,7 +299,7 @@ class DetectorArgs:
265
299
  @pulumi.getter
266
300
  def teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
267
301
  """
268
- Team IDs to associate the detector to
302
+ Team IDs to associate the detector to.
269
303
  """
270
304
  return pulumi.get(self, "teams")
271
305
 
@@ -277,8 +311,7 @@ class DetectorArgs:
277
311
  @pulumi.getter(name="timeRange")
278
312
  def time_range(self) -> Optional[pulumi.Input[int]]:
279
313
  """
280
- Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
281
- to 3600
314
+ Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
282
315
  """
283
316
  return pulumi.get(self, "time_range")
284
317
 
@@ -302,7 +335,7 @@ class DetectorArgs:
302
335
  @pulumi.getter(name="vizOptions")
303
336
  def viz_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]]]:
304
337
  """
305
- Plot-level customization options, associated with a publish statement
338
+ Plot-level customization options, associated with a publish statement.
306
339
  """
307
340
  return pulumi.get(self, "viz_options")
308
341
 
@@ -317,12 +350,14 @@ class _DetectorState:
317
350
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
318
351
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
319
352
  description: Optional[pulumi.Input[str]] = None,
353
+ detector_origin: Optional[pulumi.Input[str]] = None,
320
354
  disable_sampling: Optional[pulumi.Input[bool]] = None,
321
355
  end_time: Optional[pulumi.Input[int]] = None,
322
356
  label_resolutions: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
323
357
  max_delay: Optional[pulumi.Input[int]] = None,
324
358
  min_delay: Optional[pulumi.Input[int]] = None,
325
359
  name: Optional[pulumi.Input[str]] = None,
360
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
326
361
  program_text: Optional[pulumi.Input[str]] = None,
327
362
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]]] = None,
328
363
  show_data_markers: Optional[pulumi.Input[bool]] = None,
@@ -336,29 +371,28 @@ class _DetectorState:
336
371
  viz_options: Optional[pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]]] = None):
337
372
  """
338
373
  Input properties used for looking up and filtering Detector resources.
339
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
340
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
341
- :param pulumi.Input[str] description: Description of the detector
342
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
343
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
344
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] label_resolutions: Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert
345
- should be triggered
346
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
347
- :param pulumi.Input[int] min_delay: Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
348
- is 900 (15m)
349
- :param pulumi.Input[str] name: Name of the detector
350
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
351
- :param pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]] rules: Set of rules used for alerting
352
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
353
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
354
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
355
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
356
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
357
- :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
358
- to 3600
374
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
375
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
376
+ :param pulumi.Input[str] description: Description of the detector.
377
+ :param pulumi.Input[str] detector_origin: Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
378
+ :param pulumi.Input[bool] disable_sampling: When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
379
+ :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
380
+ :param pulumi.Input[Mapping[str, pulumi.Input[int]]] label_resolutions: The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
381
+ :param pulumi.Input[int] max_delay: allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
382
+ :param pulumi.Input[int] min_delay: How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
383
+ :param pulumi.Input[str] name: Name of the detector.
384
+ :param pulumi.Input[str] parent_detector_id: ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
385
+ :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
386
+ :param pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]] rules: Set of rules used for alerting.
387
+ :param pulumi.Input[bool] show_data_markers: When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
388
+ :param pulumi.Input[bool] show_event_lines: When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
389
+ :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
390
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector.
391
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to.
392
+ :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
359
393
  :param pulumi.Input[str] timezone: The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
360
- :param pulumi.Input[str] url: URL of the detector
361
- :param pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]] viz_options: Plot-level customization options, associated with a publish statement
394
+ :param pulumi.Input[str] url: The URL of the detector.
395
+ :param pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]] viz_options: Plot-level customization options, associated with a publish statement.
362
396
  """
363
397
  if authorized_writer_teams is not None:
364
398
  pulumi.set(__self__, "authorized_writer_teams", authorized_writer_teams)
@@ -366,6 +400,8 @@ class _DetectorState:
366
400
  pulumi.set(__self__, "authorized_writer_users", authorized_writer_users)
367
401
  if description is not None:
368
402
  pulumi.set(__self__, "description", description)
403
+ if detector_origin is not None:
404
+ pulumi.set(__self__, "detector_origin", detector_origin)
369
405
  if disable_sampling is not None:
370
406
  pulumi.set(__self__, "disable_sampling", disable_sampling)
371
407
  if end_time is not None:
@@ -378,6 +414,8 @@ class _DetectorState:
378
414
  pulumi.set(__self__, "min_delay", min_delay)
379
415
  if name is not None:
380
416
  pulumi.set(__self__, "name", name)
417
+ if parent_detector_id is not None:
418
+ pulumi.set(__self__, "parent_detector_id", parent_detector_id)
381
419
  if program_text is not None:
382
420
  pulumi.set(__self__, "program_text", program_text)
383
421
  if rules is not None:
@@ -405,7 +443,7 @@ class _DetectorState:
405
443
  @pulumi.getter(name="authorizedWriterTeams")
406
444
  def authorized_writer_teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
407
445
  """
408
- Team IDs that have write access to this dashboard
446
+ Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
409
447
  """
410
448
  return pulumi.get(self, "authorized_writer_teams")
411
449
 
@@ -417,7 +455,7 @@ class _DetectorState:
417
455
  @pulumi.getter(name="authorizedWriterUsers")
418
456
  def authorized_writer_users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
419
457
  """
420
- User IDs that have write access to this dashboard
458
+ User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
421
459
  """
422
460
  return pulumi.get(self, "authorized_writer_users")
423
461
 
@@ -429,7 +467,7 @@ class _DetectorState:
429
467
  @pulumi.getter
430
468
  def description(self) -> Optional[pulumi.Input[str]]:
431
469
  """
432
- Description of the detector
470
+ Description of the detector.
433
471
  """
434
472
  return pulumi.get(self, "description")
435
473
 
@@ -437,11 +475,23 @@ class _DetectorState:
437
475
  def description(self, value: Optional[pulumi.Input[str]]):
438
476
  pulumi.set(self, "description", value)
439
477
 
478
+ @property
479
+ @pulumi.getter(name="detectorOrigin")
480
+ def detector_origin(self) -> Optional[pulumi.Input[str]]:
481
+ """
482
+ Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
483
+ """
484
+ return pulumi.get(self, "detector_origin")
485
+
486
+ @detector_origin.setter
487
+ def detector_origin(self, value: Optional[pulumi.Input[str]]):
488
+ pulumi.set(self, "detector_origin", value)
489
+
440
490
  @property
441
491
  @pulumi.getter(name="disableSampling")
442
492
  def disable_sampling(self) -> Optional[pulumi.Input[bool]]:
443
493
  """
444
- (false by default) When false, samples a subset of the output MTS in the visualization.
494
+ When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
445
495
  """
446
496
  return pulumi.get(self, "disable_sampling")
447
497
 
@@ -453,7 +503,7 @@ class _DetectorState:
453
503
  @pulumi.getter(name="endTime")
454
504
  def end_time(self) -> Optional[pulumi.Input[int]]:
455
505
  """
456
- Seconds since epoch. Used for visualization
506
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
457
507
  """
458
508
  return pulumi.get(self, "end_time")
459
509
 
@@ -465,8 +515,7 @@ class _DetectorState:
465
515
  @pulumi.getter(name="labelResolutions")
466
516
  def label_resolutions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]:
467
517
  """
468
- Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert
469
- should be triggered
518
+ The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
470
519
  """
471
520
  return pulumi.get(self, "label_resolutions")
472
521
 
@@ -478,7 +527,7 @@ class _DetectorState:
478
527
  @pulumi.getter(name="maxDelay")
479
528
  def max_delay(self) -> Optional[pulumi.Input[int]]:
480
529
  """
481
- Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
530
+ allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
482
531
  """
483
532
  return pulumi.get(self, "max_delay")
484
533
 
@@ -490,8 +539,7 @@ class _DetectorState:
490
539
  @pulumi.getter(name="minDelay")
491
540
  def min_delay(self) -> Optional[pulumi.Input[int]]:
492
541
  """
493
- Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
494
- is 900 (15m)
542
+ How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
495
543
  """
496
544
  return pulumi.get(self, "min_delay")
497
545
 
@@ -503,7 +551,7 @@ class _DetectorState:
503
551
  @pulumi.getter
504
552
  def name(self) -> Optional[pulumi.Input[str]]:
505
553
  """
506
- Name of the detector
554
+ Name of the detector.
507
555
  """
508
556
  return pulumi.get(self, "name")
509
557
 
@@ -511,11 +559,23 @@ class _DetectorState:
511
559
  def name(self, value: Optional[pulumi.Input[str]]):
512
560
  pulumi.set(self, "name", value)
513
561
 
562
+ @property
563
+ @pulumi.getter(name="parentDetectorId")
564
+ def parent_detector_id(self) -> Optional[pulumi.Input[str]]:
565
+ """
566
+ ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
567
+ """
568
+ return pulumi.get(self, "parent_detector_id")
569
+
570
+ @parent_detector_id.setter
571
+ def parent_detector_id(self, value: Optional[pulumi.Input[str]]):
572
+ pulumi.set(self, "parent_detector_id", value)
573
+
514
574
  @property
515
575
  @pulumi.getter(name="programText")
516
576
  def program_text(self) -> Optional[pulumi.Input[str]]:
517
577
  """
518
- Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
578
+ Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
519
579
  """
520
580
  return pulumi.get(self, "program_text")
521
581
 
@@ -527,7 +587,7 @@ class _DetectorState:
527
587
  @pulumi.getter
528
588
  def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DetectorRuleArgs']]]]:
529
589
  """
530
- Set of rules used for alerting
590
+ Set of rules used for alerting.
531
591
  """
532
592
  return pulumi.get(self, "rules")
533
593
 
@@ -539,7 +599,7 @@ class _DetectorState:
539
599
  @pulumi.getter(name="showDataMarkers")
540
600
  def show_data_markers(self) -> Optional[pulumi.Input[bool]]:
541
601
  """
542
- (true by default) When true, markers will be drawn for each datapoint within the visualization.
602
+ When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
543
603
  """
544
604
  return pulumi.get(self, "show_data_markers")
545
605
 
@@ -551,7 +611,7 @@ class _DetectorState:
551
611
  @pulumi.getter(name="showEventLines")
552
612
  def show_event_lines(self) -> Optional[pulumi.Input[bool]]:
553
613
  """
554
- (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
614
+ When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
555
615
  """
556
616
  return pulumi.get(self, "show_event_lines")
557
617
 
@@ -563,7 +623,7 @@ class _DetectorState:
563
623
  @pulumi.getter(name="startTime")
564
624
  def start_time(self) -> Optional[pulumi.Input[int]]:
565
625
  """
566
- Seconds since epoch. Used for visualization
626
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
567
627
  """
568
628
  return pulumi.get(self, "start_time")
569
629
 
@@ -575,7 +635,7 @@ class _DetectorState:
575
635
  @pulumi.getter
576
636
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
577
637
  """
578
- Tags associated with the detector
638
+ Tags associated with the detector.
579
639
  """
580
640
  return pulumi.get(self, "tags")
581
641
 
@@ -587,7 +647,7 @@ class _DetectorState:
587
647
  @pulumi.getter
588
648
  def teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
589
649
  """
590
- Team IDs to associate the detector to
650
+ Team IDs to associate the detector to.
591
651
  """
592
652
  return pulumi.get(self, "teams")
593
653
 
@@ -599,8 +659,7 @@ class _DetectorState:
599
659
  @pulumi.getter(name="timeRange")
600
660
  def time_range(self) -> Optional[pulumi.Input[int]]:
601
661
  """
602
- Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
603
- to 3600
662
+ Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
604
663
  """
605
664
  return pulumi.get(self, "time_range")
606
665
 
@@ -624,7 +683,7 @@ class _DetectorState:
624
683
  @pulumi.getter
625
684
  def url(self) -> Optional[pulumi.Input[str]]:
626
685
  """
627
- URL of the detector
686
+ The URL of the detector.
628
687
  """
629
688
  return pulumi.get(self, "url")
630
689
 
@@ -636,7 +695,7 @@ class _DetectorState:
636
695
  @pulumi.getter(name="vizOptions")
637
696
  def viz_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DetectorVizOptionArgs']]]]:
638
697
  """
639
- Plot-level customization options, associated with a publish statement
698
+ Plot-level customization options, associated with a publish statement.
640
699
  """
641
700
  return pulumi.get(self, "viz_options")
642
701
 
@@ -653,13 +712,15 @@ class Detector(pulumi.CustomResource):
653
712
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
654
713
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
655
714
  description: Optional[pulumi.Input[str]] = None,
715
+ detector_origin: Optional[pulumi.Input[str]] = None,
656
716
  disable_sampling: Optional[pulumi.Input[bool]] = None,
657
717
  end_time: Optional[pulumi.Input[int]] = None,
658
718
  max_delay: Optional[pulumi.Input[int]] = None,
659
719
  min_delay: Optional[pulumi.Input[int]] = None,
660
720
  name: Optional[pulumi.Input[str]] = None,
721
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
661
722
  program_text: Optional[pulumi.Input[str]] = None,
662
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]]] = None,
723
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]]] = None,
663
724
  show_data_markers: Optional[pulumi.Input[bool]] = None,
664
725
  show_event_lines: Optional[pulumi.Input[bool]] = None,
665
726
  start_time: Optional[pulumi.Input[int]] = None,
@@ -667,7 +728,7 @@ class Detector(pulumi.CustomResource):
667
728
  teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
668
729
  time_range: Optional[pulumi.Input[int]] = None,
669
730
  timezone: Optional[pulumi.Input[str]] = None,
670
- viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorVizOptionArgs']]]]] = None,
731
+ viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorVizOptionArgs', 'DetectorVizOptionArgsDict']]]]] = None,
671
732
  __props__=None):
672
733
  """
673
734
  Provides a Splunk Observability Cloud detector resource. This can be used to create and manage detectors.
@@ -678,15 +739,52 @@ class Detector(pulumi.CustomResource):
678
739
 
679
740
  ## Example
680
741
 
681
- ## Notification format
682
-
683
- As Splunk Observability Cloud supports different notification mechanisms, use a comma-delimited string to provide inputs. If you want to specify multiple notifications, each must be a member in the list, like so:
684
-
685
- <!--Start PulumiCodeChooser -->
686
742
  ```python
687
743
  import pulumi
744
+ import pulumi_signalfx as signalfx
745
+
746
+ config = pulumi.Config()
747
+ clusters = config.get_object("clusters")
748
+ if clusters is None:
749
+ clusters = [
750
+ "clusterA",
751
+ "clusterB",
752
+ ]
753
+ application_delay = []
754
+ for range in [{"value": i} for i in range(0, len(clusters))]:
755
+ application_delay.append(signalfx.Detector(f"application_delay-{range['value']}",
756
+ name=f" max average delay - {clusters[range['value']]}",
757
+ description=f"your application is slow - {clusters[range['value']]}",
758
+ max_delay=30,
759
+ tags=[
760
+ "app-backend",
761
+ "staging",
762
+ ],
763
+ authorized_writer_teams=[mycoolteam["id"]],
764
+ authorized_writer_users=["abc123"],
765
+ program_text=f\"\"\"signal = data('app.delay', filter('cluster','{clusters[range["value"]]}'), extrapolation='last_value', maxExtrapolations=5).max()
766
+ detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
767
+ detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
768
+ \"\"\",
769
+ rules=[
770
+ {
771
+ "description": "maximum > 60 for 5m",
772
+ "severity": "Warning",
773
+ "detect_label": "Processing old messages 5m",
774
+ "notifications": ["Email,foo-alerts@bar.com"],
775
+ },
776
+ {
777
+ "description": "maximum > 60 for 30m",
778
+ "severity": "Critical",
779
+ "detect_label": "Processing old messages 30m",
780
+ "notifications": ["Email,foo-alerts@bar.com"],
781
+ },
782
+ ]))
688
783
  ```
689
- <!--End PulumiCodeChooser -->
784
+
785
+ ## Notification format
786
+
787
+ As Splunk Observability Cloud supports different notification mechanisms, use a comma-delimited string to provide inputs. If you want to specify multiple notifications, each must be a member in the list, like so:
690
788
 
691
789
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
692
790
 
@@ -694,148 +792,38 @@ class Detector(pulumi.CustomResource):
694
792
 
695
793
  ### Email
696
794
 
697
- <!--Start PulumiCodeChooser -->
698
- ```python
699
- import pulumi
700
- ```
701
- <!--End PulumiCodeChooser -->
702
-
703
795
  ### Jira
704
796
 
705
797
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
706
798
 
707
- <!--Start PulumiCodeChooser -->
708
- ```python
709
- import pulumi
710
- ```
711
- <!--End PulumiCodeChooser -->
712
-
713
799
  ### OpsGenie
714
800
 
715
801
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Opsgenie integration. `Team` here is hardcoded as the `responderType` as that is the only acceptable type as per the API docs.
716
802
 
717
- <!--Start PulumiCodeChooser -->
718
- ```python
719
- import pulumi
720
- ```
721
- <!--End PulumiCodeChooser -->
722
-
723
803
  ### PagerDuty
724
804
 
725
- <!--Start PulumiCodeChooser -->
726
- ```python
727
- import pulumi
728
- ```
729
- <!--End PulumiCodeChooser -->
730
-
731
805
  ### Slack
732
806
 
733
807
  Exclude the `#` on the channel name:
734
808
 
735
- <!--Start PulumiCodeChooser -->
736
- ```python
737
- import pulumi
738
- ```
739
- <!--End PulumiCodeChooser -->
740
-
741
809
  ### Team
742
810
 
743
811
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
744
812
 
745
- <!--Start PulumiCodeChooser -->
746
- ```python
747
- import pulumi
748
- ```
749
- <!--End PulumiCodeChooser -->
750
-
751
813
  ### TeamEmail
752
814
 
753
815
  Sends an email to every member of a team.
754
816
 
755
- <!--Start PulumiCodeChooser -->
756
- ```python
757
- import pulumi
758
- ```
759
- <!--End PulumiCodeChooser -->
760
-
761
817
  ### Splunk On-Call (formerly VictorOps)
762
818
 
763
- <!--Start PulumiCodeChooser -->
764
- ```python
765
- import pulumi
766
- ```
767
- <!--End PulumiCodeChooser -->
768
-
769
819
  ### Webhooks
770
820
 
771
821
  You need to include all the commas even if you only use a credential id.
772
822
 
773
823
  You can either configure a Webhook to use an existing integration's credential id:
774
- <!--Start PulumiCodeChooser -->
775
- ```python
776
- import pulumi
777
- ```
778
- <!--End PulumiCodeChooser -->
779
824
 
780
825
  Or configure one inline:
781
826
 
782
- <!--Start PulumiCodeChooser -->
783
- ```python
784
- import pulumi
785
- ```
786
- <!--End PulumiCodeChooser -->
787
-
788
- ## Arguments
789
-
790
- * `name` - (Required) Name of the detector.
791
- * `program_text` - (Required) Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
792
- * `description` - (Optional) Description of the detector.
793
- * `authorized_writer_teams` - (Optional) Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
794
- * `authorized_writer_users` - (Optional) User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
795
- * `max_delay` - (Optional) How long (in seconds) to wait for late datapoints. See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info. Max value is `900` seconds (15 minutes). `Auto` (as little as possible) by default.
796
- * `min_delay` - (Optional) How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
797
- * `show_data_markers` - (Optional) When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
798
- * `show_event_lines` - (Optional) When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
799
- * `disable_sampling` - (Optional) When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
800
- * `time_range` - (Optional) Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
801
- * `start_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
802
- * `end_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
803
- * `tags` - (Optional) Tags associated with the detector.
804
- * `teams` - (Optional) Team IDs to associate the detector to.
805
- * `rule` - (Required) Set of rules used for alerting.
806
- * `detect_label` - (Required) A detect label which matches a detect label within `program_text`.
807
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
808
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
809
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
810
- * `notifications` - (Optional) List of strings specifying where notifications will be sent when an incident occurs. See [Create A Single Detector](https://dev.splunk.com/observability/reference/api/detectors/latest) for more info.
811
- * `parameterized_body` - (Optional) Custom notification message body when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
812
- * `parameterized_subject` - (Optional) Custom notification message subject when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
813
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
814
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
815
- * `viz_options` - (Optional) Plot-level customization options, associated with a publish statement.
816
- * `label` - (Required) Label used in the publish statement that displays the plot (metric time series data) you want to customize.
817
- * `display_name` - (Optional) Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
818
- * `color` - (Optional) Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
819
- * `value_unit` - (Optional) A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
820
- * `value_prefix`, `value_suffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
821
-
822
- **Notes**
823
-
824
- Use both `max_delay` in your detector configuration and an `extrapolation` policy in your program text to reduce false positives and false negatives.
825
-
826
- - `max_delay` allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
827
- - `extrapolation` allows you to specify how to handle missing data. An extrapolation policy can be added to individual signals by updating the data block in your `program_text`.
828
-
829
- See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info.
830
-
831
- ## Attributes
832
-
833
- In a addition to all arguments above, the following attributes are exported:
834
-
835
- * `id` - The ID of the detector.
836
- * `label_resolutions` - The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
837
- * `url` - The URL of the detector.
838
-
839
827
  ## Import
840
828
 
841
829
  Detectors can be imported using their string ID (recoverable from URL: `/#/detector/v2/abc123/edit`, e.g.
@@ -846,26 +834,26 @@ class Detector(pulumi.CustomResource):
846
834
 
847
835
  :param str resource_name: The name of the resource.
848
836
  :param pulumi.ResourceOptions opts: Options for the resource.
849
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
850
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
851
- :param pulumi.Input[str] description: Description of the detector
852
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
853
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
854
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
855
- :param pulumi.Input[int] min_delay: Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
856
- is 900 (15m)
857
- :param pulumi.Input[str] name: Name of the detector
858
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
859
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]] rules: Set of rules used for alerting
860
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
861
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
862
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
863
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
864
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
865
- :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
866
- to 3600
837
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
838
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
839
+ :param pulumi.Input[str] description: Description of the detector.
840
+ :param pulumi.Input[str] detector_origin: Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
841
+ :param pulumi.Input[bool] disable_sampling: When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
842
+ :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
843
+ :param pulumi.Input[int] max_delay: allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
844
+ :param pulumi.Input[int] min_delay: How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
845
+ :param pulumi.Input[str] name: Name of the detector.
846
+ :param pulumi.Input[str] parent_detector_id: ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
847
+ :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
848
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]] rules: Set of rules used for alerting.
849
+ :param pulumi.Input[bool] show_data_markers: When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
850
+ :param pulumi.Input[bool] show_event_lines: When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
851
+ :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
852
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector.
853
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to.
854
+ :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
867
855
  :param pulumi.Input[str] timezone: The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
868
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorVizOptionArgs']]]] viz_options: Plot-level customization options, associated with a publish statement
856
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DetectorVizOptionArgs', 'DetectorVizOptionArgsDict']]]] viz_options: Plot-level customization options, associated with a publish statement.
869
857
  """
870
858
  ...
871
859
  @overload
@@ -882,15 +870,52 @@ class Detector(pulumi.CustomResource):
882
870
 
883
871
  ## Example
884
872
 
885
- ## Notification format
886
-
887
- As Splunk Observability Cloud supports different notification mechanisms, use a comma-delimited string to provide inputs. If you want to specify multiple notifications, each must be a member in the list, like so:
888
-
889
- <!--Start PulumiCodeChooser -->
890
873
  ```python
891
874
  import pulumi
875
+ import pulumi_signalfx as signalfx
876
+
877
+ config = pulumi.Config()
878
+ clusters = config.get_object("clusters")
879
+ if clusters is None:
880
+ clusters = [
881
+ "clusterA",
882
+ "clusterB",
883
+ ]
884
+ application_delay = []
885
+ for range in [{"value": i} for i in range(0, len(clusters))]:
886
+ application_delay.append(signalfx.Detector(f"application_delay-{range['value']}",
887
+ name=f" max average delay - {clusters[range['value']]}",
888
+ description=f"your application is slow - {clusters[range['value']]}",
889
+ max_delay=30,
890
+ tags=[
891
+ "app-backend",
892
+ "staging",
893
+ ],
894
+ authorized_writer_teams=[mycoolteam["id"]],
895
+ authorized_writer_users=["abc123"],
896
+ program_text=f\"\"\"signal = data('app.delay', filter('cluster','{clusters[range["value"]]}'), extrapolation='last_value', maxExtrapolations=5).max()
897
+ detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
898
+ detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
899
+ \"\"\",
900
+ rules=[
901
+ {
902
+ "description": "maximum > 60 for 5m",
903
+ "severity": "Warning",
904
+ "detect_label": "Processing old messages 5m",
905
+ "notifications": ["Email,foo-alerts@bar.com"],
906
+ },
907
+ {
908
+ "description": "maximum > 60 for 30m",
909
+ "severity": "Critical",
910
+ "detect_label": "Processing old messages 30m",
911
+ "notifications": ["Email,foo-alerts@bar.com"],
912
+ },
913
+ ]))
892
914
  ```
893
- <!--End PulumiCodeChooser -->
915
+
916
+ ## Notification format
917
+
918
+ As Splunk Observability Cloud supports different notification mechanisms, use a comma-delimited string to provide inputs. If you want to specify multiple notifications, each must be a member in the list, like so:
894
919
 
895
920
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
896
921
 
@@ -898,148 +923,38 @@ class Detector(pulumi.CustomResource):
898
923
 
899
924
  ### Email
900
925
 
901
- <!--Start PulumiCodeChooser -->
902
- ```python
903
- import pulumi
904
- ```
905
- <!--End PulumiCodeChooser -->
906
-
907
926
  ### Jira
908
927
 
909
928
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
910
929
 
911
- <!--Start PulumiCodeChooser -->
912
- ```python
913
- import pulumi
914
- ```
915
- <!--End PulumiCodeChooser -->
916
-
917
930
  ### OpsGenie
918
931
 
919
932
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Opsgenie integration. `Team` here is hardcoded as the `responderType` as that is the only acceptable type as per the API docs.
920
933
 
921
- <!--Start PulumiCodeChooser -->
922
- ```python
923
- import pulumi
924
- ```
925
- <!--End PulumiCodeChooser -->
926
-
927
934
  ### PagerDuty
928
935
 
929
- <!--Start PulumiCodeChooser -->
930
- ```python
931
- import pulumi
932
- ```
933
- <!--End PulumiCodeChooser -->
934
-
935
936
  ### Slack
936
937
 
937
938
  Exclude the `#` on the channel name:
938
939
 
939
- <!--Start PulumiCodeChooser -->
940
- ```python
941
- import pulumi
942
- ```
943
- <!--End PulumiCodeChooser -->
944
-
945
940
  ### Team
946
941
 
947
942
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
948
943
 
949
- <!--Start PulumiCodeChooser -->
950
- ```python
951
- import pulumi
952
- ```
953
- <!--End PulumiCodeChooser -->
954
-
955
944
  ### TeamEmail
956
945
 
957
946
  Sends an email to every member of a team.
958
947
 
959
- <!--Start PulumiCodeChooser -->
960
- ```python
961
- import pulumi
962
- ```
963
- <!--End PulumiCodeChooser -->
964
-
965
948
  ### Splunk On-Call (formerly VictorOps)
966
949
 
967
- <!--Start PulumiCodeChooser -->
968
- ```python
969
- import pulumi
970
- ```
971
- <!--End PulumiCodeChooser -->
972
-
973
950
  ### Webhooks
974
951
 
975
952
  You need to include all the commas even if you only use a credential id.
976
953
 
977
954
  You can either configure a Webhook to use an existing integration's credential id:
978
- <!--Start PulumiCodeChooser -->
979
- ```python
980
- import pulumi
981
- ```
982
- <!--End PulumiCodeChooser -->
983
955
 
984
956
  Or configure one inline:
985
957
 
986
- <!--Start PulumiCodeChooser -->
987
- ```python
988
- import pulumi
989
- ```
990
- <!--End PulumiCodeChooser -->
991
-
992
- ## Arguments
993
-
994
- * `name` - (Required) Name of the detector.
995
- * `program_text` - (Required) Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
996
- * `description` - (Optional) Description of the detector.
997
- * `authorized_writer_teams` - (Optional) Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
998
- * `authorized_writer_users` - (Optional) User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
999
- * `max_delay` - (Optional) How long (in seconds) to wait for late datapoints. See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info. Max value is `900` seconds (15 minutes). `Auto` (as little as possible) by default.
1000
- * `min_delay` - (Optional) How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
1001
- * `show_data_markers` - (Optional) When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
1002
- * `show_event_lines` - (Optional) When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
1003
- * `disable_sampling` - (Optional) When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
1004
- * `time_range` - (Optional) Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
1005
- * `start_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1006
- * `end_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1007
- * `tags` - (Optional) Tags associated with the detector.
1008
- * `teams` - (Optional) Team IDs to associate the detector to.
1009
- * `rule` - (Required) Set of rules used for alerting.
1010
- * `detect_label` - (Required) A detect label which matches a detect label within `program_text`.
1011
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
1012
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
1013
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
1014
- * `notifications` - (Optional) List of strings specifying where notifications will be sent when an incident occurs. See [Create A Single Detector](https://dev.splunk.com/observability/reference/api/detectors/latest) for more info.
1015
- * `parameterized_body` - (Optional) Custom notification message body when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
1016
- * `parameterized_subject` - (Optional) Custom notification message subject when an alert is triggered. See [Set Up Detectors to Trigger Alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html) for more info.
1017
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
1018
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
1019
- * `viz_options` - (Optional) Plot-level customization options, associated with a publish statement.
1020
- * `label` - (Required) Label used in the publish statement that displays the plot (metric time series data) you want to customize.
1021
- * `display_name` - (Optional) Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
1022
- * `color` - (Optional) Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
1023
- * `value_unit` - (Optional) A unit to attach to this plot. Units support automatic scaling (eg thousands of bytes will be displayed as kilobytes). Values values are `Bit, Kilobit, Megabit, Gigabit, Terabit, Petabit, Exabit, Zettabit, Yottabit, Byte, Kibibyte, Mebibyte, Gibibyte (note: this was previously typoed as Gigibyte), Tebibyte, Pebibyte, Exbibyte, Zebibyte, Yobibyte, Nanosecond, Microsecond, Millisecond, Second, Minute, Hour, Day, Week`.
1024
- * `value_prefix`, `value_suffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
1025
-
1026
- **Notes**
1027
-
1028
- Use both `max_delay` in your detector configuration and an `extrapolation` policy in your program text to reduce false positives and false negatives.
1029
-
1030
- - `max_delay` allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
1031
- - `extrapolation` allows you to specify how to handle missing data. An extrapolation policy can be added to individual signals by updating the data block in your `program_text`.
1032
-
1033
- See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info.
1034
-
1035
- ## Attributes
1036
-
1037
- In a addition to all arguments above, the following attributes are exported:
1038
-
1039
- * `id` - The ID of the detector.
1040
- * `label_resolutions` - The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
1041
- * `url` - The URL of the detector.
1042
-
1043
958
  ## Import
1044
959
 
1045
960
  Detectors can be imported using their string ID (recoverable from URL: `/#/detector/v2/abc123/edit`, e.g.
@@ -1066,13 +981,15 @@ class Detector(pulumi.CustomResource):
1066
981
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1067
982
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1068
983
  description: Optional[pulumi.Input[str]] = None,
984
+ detector_origin: Optional[pulumi.Input[str]] = None,
1069
985
  disable_sampling: Optional[pulumi.Input[bool]] = None,
1070
986
  end_time: Optional[pulumi.Input[int]] = None,
1071
987
  max_delay: Optional[pulumi.Input[int]] = None,
1072
988
  min_delay: Optional[pulumi.Input[int]] = None,
1073
989
  name: Optional[pulumi.Input[str]] = None,
990
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
1074
991
  program_text: Optional[pulumi.Input[str]] = None,
1075
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]]] = None,
992
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]]] = None,
1076
993
  show_data_markers: Optional[pulumi.Input[bool]] = None,
1077
994
  show_event_lines: Optional[pulumi.Input[bool]] = None,
1078
995
  start_time: Optional[pulumi.Input[int]] = None,
@@ -1080,7 +997,7 @@ class Detector(pulumi.CustomResource):
1080
997
  teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1081
998
  time_range: Optional[pulumi.Input[int]] = None,
1082
999
  timezone: Optional[pulumi.Input[str]] = None,
1083
- viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorVizOptionArgs']]]]] = None,
1000
+ viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorVizOptionArgs', 'DetectorVizOptionArgsDict']]]]] = None,
1084
1001
  __props__=None):
1085
1002
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1086
1003
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1093,11 +1010,13 @@ class Detector(pulumi.CustomResource):
1093
1010
  __props__.__dict__["authorized_writer_teams"] = authorized_writer_teams
1094
1011
  __props__.__dict__["authorized_writer_users"] = authorized_writer_users
1095
1012
  __props__.__dict__["description"] = description
1013
+ __props__.__dict__["detector_origin"] = detector_origin
1096
1014
  __props__.__dict__["disable_sampling"] = disable_sampling
1097
1015
  __props__.__dict__["end_time"] = end_time
1098
1016
  __props__.__dict__["max_delay"] = max_delay
1099
1017
  __props__.__dict__["min_delay"] = min_delay
1100
1018
  __props__.__dict__["name"] = name
1019
+ __props__.__dict__["parent_detector_id"] = parent_detector_id
1101
1020
  if program_text is None and not opts.urn:
1102
1021
  raise TypeError("Missing required property 'program_text'")
1103
1022
  __props__.__dict__["program_text"] = program_text
@@ -1127,14 +1046,16 @@ class Detector(pulumi.CustomResource):
1127
1046
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1128
1047
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1129
1048
  description: Optional[pulumi.Input[str]] = None,
1049
+ detector_origin: Optional[pulumi.Input[str]] = None,
1130
1050
  disable_sampling: Optional[pulumi.Input[bool]] = None,
1131
1051
  end_time: Optional[pulumi.Input[int]] = None,
1132
1052
  label_resolutions: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
1133
1053
  max_delay: Optional[pulumi.Input[int]] = None,
1134
1054
  min_delay: Optional[pulumi.Input[int]] = None,
1135
1055
  name: Optional[pulumi.Input[str]] = None,
1056
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
1136
1057
  program_text: Optional[pulumi.Input[str]] = None,
1137
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]]] = None,
1058
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]]] = None,
1138
1059
  show_data_markers: Optional[pulumi.Input[bool]] = None,
1139
1060
  show_event_lines: Optional[pulumi.Input[bool]] = None,
1140
1061
  start_time: Optional[pulumi.Input[int]] = None,
@@ -1143,7 +1064,7 @@ class Detector(pulumi.CustomResource):
1143
1064
  time_range: Optional[pulumi.Input[int]] = None,
1144
1065
  timezone: Optional[pulumi.Input[str]] = None,
1145
1066
  url: Optional[pulumi.Input[str]] = None,
1146
- viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorVizOptionArgs']]]]] = None) -> 'Detector':
1067
+ viz_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorVizOptionArgs', 'DetectorVizOptionArgsDict']]]]] = None) -> 'Detector':
1147
1068
  """
1148
1069
  Get an existing Detector resource's state with the given name, id, and optional extra
1149
1070
  properties used to qualify the lookup.
@@ -1151,29 +1072,28 @@ class Detector(pulumi.CustomResource):
1151
1072
  :param str resource_name: The unique name of the resulting resource.
1152
1073
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1153
1074
  :param pulumi.ResourceOptions opts: Options for the resource.
1154
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
1155
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
1156
- :param pulumi.Input[str] description: Description of the detector
1157
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
1158
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
1159
- :param pulumi.Input[Mapping[str, pulumi.Input[int]]] label_resolutions: Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert
1160
- should be triggered
1161
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
1162
- :param pulumi.Input[int] min_delay: Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
1163
- is 900 (15m)
1164
- :param pulumi.Input[str] name: Name of the detector
1165
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
1166
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]] rules: Set of rules used for alerting
1167
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
1168
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
1169
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
1170
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
1171
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
1172
- :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
1173
- to 3600
1075
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
1076
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
1077
+ :param pulumi.Input[str] description: Description of the detector.
1078
+ :param pulumi.Input[str] detector_origin: Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
1079
+ :param pulumi.Input[bool] disable_sampling: When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
1080
+ :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1081
+ :param pulumi.Input[Mapping[str, pulumi.Input[int]]] label_resolutions: The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
1082
+ :param pulumi.Input[int] max_delay: allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
1083
+ :param pulumi.Input[int] min_delay: How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
1084
+ :param pulumi.Input[str] name: Name of the detector.
1085
+ :param pulumi.Input[str] parent_detector_id: ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
1086
+ :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
1087
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]] rules: Set of rules used for alerting.
1088
+ :param pulumi.Input[bool] show_data_markers: When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
1089
+ :param pulumi.Input[bool] show_event_lines: When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
1090
+ :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1091
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector.
1092
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to.
1093
+ :param pulumi.Input[int] time_range: Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
1174
1094
  :param pulumi.Input[str] timezone: The property value is a string that denotes the geographic region associated with the time zone, (e.g. Australia/Sydney)
1175
- :param pulumi.Input[str] url: URL of the detector
1176
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorVizOptionArgs']]]] viz_options: Plot-level customization options, associated with a publish statement
1095
+ :param pulumi.Input[str] url: The URL of the detector.
1096
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DetectorVizOptionArgs', 'DetectorVizOptionArgsDict']]]] viz_options: Plot-level customization options, associated with a publish statement.
1177
1097
  """
1178
1098
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1179
1099
 
@@ -1182,12 +1102,14 @@ class Detector(pulumi.CustomResource):
1182
1102
  __props__.__dict__["authorized_writer_teams"] = authorized_writer_teams
1183
1103
  __props__.__dict__["authorized_writer_users"] = authorized_writer_users
1184
1104
  __props__.__dict__["description"] = description
1105
+ __props__.__dict__["detector_origin"] = detector_origin
1185
1106
  __props__.__dict__["disable_sampling"] = disable_sampling
1186
1107
  __props__.__dict__["end_time"] = end_time
1187
1108
  __props__.__dict__["label_resolutions"] = label_resolutions
1188
1109
  __props__.__dict__["max_delay"] = max_delay
1189
1110
  __props__.__dict__["min_delay"] = min_delay
1190
1111
  __props__.__dict__["name"] = name
1112
+ __props__.__dict__["parent_detector_id"] = parent_detector_id
1191
1113
  __props__.__dict__["program_text"] = program_text
1192
1114
  __props__.__dict__["rules"] = rules
1193
1115
  __props__.__dict__["show_data_markers"] = show_data_markers
@@ -1205,7 +1127,7 @@ class Detector(pulumi.CustomResource):
1205
1127
  @pulumi.getter(name="authorizedWriterTeams")
1206
1128
  def authorized_writer_teams(self) -> pulumi.Output[Optional[Sequence[str]]]:
1207
1129
  """
1208
- Team IDs that have write access to this dashboard
1130
+ Team IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's team id (or user id in `authorized_writer_users`).
1209
1131
  """
1210
1132
  return pulumi.get(self, "authorized_writer_teams")
1211
1133
 
@@ -1213,7 +1135,7 @@ class Detector(pulumi.CustomResource):
1213
1135
  @pulumi.getter(name="authorizedWriterUsers")
1214
1136
  def authorized_writer_users(self) -> pulumi.Output[Optional[Sequence[str]]]:
1215
1137
  """
1216
- User IDs that have write access to this dashboard
1138
+ User IDs that have write access to this detector. Remember to use an admin's token if using this feature and to include that admin's user id (or team id in `authorized_writer_teams`).
1217
1139
  """
1218
1140
  return pulumi.get(self, "authorized_writer_users")
1219
1141
 
@@ -1221,15 +1143,23 @@ class Detector(pulumi.CustomResource):
1221
1143
  @pulumi.getter
1222
1144
  def description(self) -> pulumi.Output[Optional[str]]:
1223
1145
  """
1224
- Description of the detector
1146
+ Description of the detector.
1225
1147
  """
1226
1148
  return pulumi.get(self, "description")
1227
1149
 
1150
+ @property
1151
+ @pulumi.getter(name="detectorOrigin")
1152
+ def detector_origin(self) -> pulumi.Output[Optional[str]]:
1153
+ """
1154
+ Indicates how a detector was created. The possible values are: Standard and AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
1155
+ """
1156
+ return pulumi.get(self, "detector_origin")
1157
+
1228
1158
  @property
1229
1159
  @pulumi.getter(name="disableSampling")
1230
1160
  def disable_sampling(self) -> pulumi.Output[Optional[bool]]:
1231
1161
  """
1232
- (false by default) When false, samples a subset of the output MTS in the visualization.
1162
+ When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
1233
1163
  """
1234
1164
  return pulumi.get(self, "disable_sampling")
1235
1165
 
@@ -1237,7 +1167,7 @@ class Detector(pulumi.CustomResource):
1237
1167
  @pulumi.getter(name="endTime")
1238
1168
  def end_time(self) -> pulumi.Output[Optional[int]]:
1239
1169
  """
1240
- Seconds since epoch. Used for visualization
1170
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1241
1171
  """
1242
1172
  return pulumi.get(self, "end_time")
1243
1173
 
@@ -1245,8 +1175,7 @@ class Detector(pulumi.CustomResource):
1245
1175
  @pulumi.getter(name="labelResolutions")
1246
1176
  def label_resolutions(self) -> pulumi.Output[Mapping[str, int]]:
1247
1177
  """
1248
- Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert
1249
- should be triggered
1178
+ The resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert should be triggered.
1250
1179
  """
1251
1180
  return pulumi.get(self, "label_resolutions")
1252
1181
 
@@ -1254,7 +1183,7 @@ class Detector(pulumi.CustomResource):
1254
1183
  @pulumi.getter(name="maxDelay")
1255
1184
  def max_delay(self) -> pulumi.Output[Optional[int]]:
1256
1185
  """
1257
- Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
1186
+ allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
1258
1187
  """
1259
1188
  return pulumi.get(self, "max_delay")
1260
1189
 
@@ -1262,8 +1191,7 @@ class Detector(pulumi.CustomResource):
1262
1191
  @pulumi.getter(name="minDelay")
1263
1192
  def min_delay(self) -> pulumi.Output[Optional[int]]:
1264
1193
  """
1265
- Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
1266
- is 900 (15m)
1194
+ How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
1267
1195
  """
1268
1196
  return pulumi.get(self, "min_delay")
1269
1197
 
@@ -1271,15 +1199,23 @@ class Detector(pulumi.CustomResource):
1271
1199
  @pulumi.getter
1272
1200
  def name(self) -> pulumi.Output[str]:
1273
1201
  """
1274
- Name of the detector
1202
+ Name of the detector.
1275
1203
  """
1276
1204
  return pulumi.get(self, "name")
1277
1205
 
1206
+ @property
1207
+ @pulumi.getter(name="parentDetectorId")
1208
+ def parent_detector_id(self) -> pulumi.Output[Optional[str]]:
1209
+ """
1210
+ ID of the AutoDetect parent detector from which this detector is customized and created. This property is required for detectors with detectorOrigin of type AutoDetectCustomization. The value can only be set when creating the detector and cannot be modified later.
1211
+ """
1212
+ return pulumi.get(self, "parent_detector_id")
1213
+
1278
1214
  @property
1279
1215
  @pulumi.getter(name="programText")
1280
1216
  def program_text(self) -> pulumi.Output[str]:
1281
1217
  """
1282
- Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
1218
+ Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
1283
1219
  """
1284
1220
  return pulumi.get(self, "program_text")
1285
1221
 
@@ -1287,7 +1223,7 @@ class Detector(pulumi.CustomResource):
1287
1223
  @pulumi.getter
1288
1224
  def rules(self) -> pulumi.Output[Sequence['outputs.DetectorRule']]:
1289
1225
  """
1290
- Set of rules used for alerting
1226
+ Set of rules used for alerting.
1291
1227
  """
1292
1228
  return pulumi.get(self, "rules")
1293
1229
 
@@ -1295,7 +1231,7 @@ class Detector(pulumi.CustomResource):
1295
1231
  @pulumi.getter(name="showDataMarkers")
1296
1232
  def show_data_markers(self) -> pulumi.Output[Optional[bool]]:
1297
1233
  """
1298
- (true by default) When true, markers will be drawn for each datapoint within the visualization.
1234
+ When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
1299
1235
  """
1300
1236
  return pulumi.get(self, "show_data_markers")
1301
1237
 
@@ -1303,7 +1239,7 @@ class Detector(pulumi.CustomResource):
1303
1239
  @pulumi.getter(name="showEventLines")
1304
1240
  def show_event_lines(self) -> pulumi.Output[Optional[bool]]:
1305
1241
  """
1306
- (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
1242
+ When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
1307
1243
  """
1308
1244
  return pulumi.get(self, "show_event_lines")
1309
1245
 
@@ -1311,7 +1247,7 @@ class Detector(pulumi.CustomResource):
1311
1247
  @pulumi.getter(name="startTime")
1312
1248
  def start_time(self) -> pulumi.Output[Optional[int]]:
1313
1249
  """
1314
- Seconds since epoch. Used for visualization
1250
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1315
1251
  """
1316
1252
  return pulumi.get(self, "start_time")
1317
1253
 
@@ -1319,7 +1255,7 @@ class Detector(pulumi.CustomResource):
1319
1255
  @pulumi.getter
1320
1256
  def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1321
1257
  """
1322
- Tags associated with the detector
1258
+ Tags associated with the detector.
1323
1259
  """
1324
1260
  return pulumi.get(self, "tags")
1325
1261
 
@@ -1327,7 +1263,7 @@ class Detector(pulumi.CustomResource):
1327
1263
  @pulumi.getter
1328
1264
  def teams(self) -> pulumi.Output[Optional[Sequence[str]]]:
1329
1265
  """
1330
- Team IDs to associate the detector to
1266
+ Team IDs to associate the detector to.
1331
1267
  """
1332
1268
  return pulumi.get(self, "teams")
1333
1269
 
@@ -1335,8 +1271,7 @@ class Detector(pulumi.CustomResource):
1335
1271
  @pulumi.getter(name="timeRange")
1336
1272
  def time_range(self) -> pulumi.Output[Optional[int]]:
1337
1273
  """
1338
- Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
1339
- to 3600
1274
+ Seconds to display in the visualization. This is a rolling range from the current time. Example: `3600` corresponds to `-1h` in web UI. `3600` by default.
1340
1275
  """
1341
1276
  return pulumi.get(self, "time_range")
1342
1277
 
@@ -1352,7 +1287,7 @@ class Detector(pulumi.CustomResource):
1352
1287
  @pulumi.getter
1353
1288
  def url(self) -> pulumi.Output[str]:
1354
1289
  """
1355
- URL of the detector
1290
+ The URL of the detector.
1356
1291
  """
1357
1292
  return pulumi.get(self, "url")
1358
1293
 
@@ -1360,7 +1295,7 @@ class Detector(pulumi.CustomResource):
1360
1295
  @pulumi.getter(name="vizOptions")
1361
1296
  def viz_options(self) -> pulumi.Output[Optional[Sequence['outputs.DetectorVizOption']]]:
1362
1297
  """
1363
- Plot-level customization options, associated with a publish statement
1298
+ Plot-level customization options, associated with a publish statement.
1364
1299
  """
1365
1300
  return pulumi.get(self, "viz_options")
1366
1301