pulumi-signalfx 7.2.0a1709367777__py3-none-any.whl → 7.6.0a1736835428__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 +110 -86
  5. pulumi_signalfx/aws/_inputs.py +85 -16
  6. pulumi_signalfx/aws/external_integration.py +20 -275
  7. pulumi_signalfx/aws/integration.py +222 -367
  8. pulumi_signalfx/aws/outputs.py +21 -16
  9. pulumi_signalfx/aws/token_integration.py +46 -65
  10. pulumi_signalfx/azure/_inputs.py +41 -4
  11. pulumi_signalfx/azure/integration.py +144 -259
  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 +131 -198
  17. pulumi_signalfx/data_link.py +76 -141
  18. pulumi_signalfx/detector.py +264 -369
  19. pulumi_signalfx/event_feed_chart.py +51 -82
  20. pulumi_signalfx/gcp/_inputs.py +51 -0
  21. pulumi_signalfx/gcp/integration.py +224 -192
  22. pulumi_signalfx/gcp/outputs.py +44 -0
  23. pulumi_signalfx/get_dimension_values.py +47 -24
  24. pulumi_signalfx/heatmap_chart.py +165 -228
  25. pulumi_signalfx/jira/integration.py +70 -119
  26. pulumi_signalfx/list_chart.py +219 -315
  27. pulumi_signalfx/log/_inputs.py +33 -2
  28. pulumi_signalfx/log/outputs.py +7 -2
  29. pulumi_signalfx/log/timeline.py +64 -99
  30. pulumi_signalfx/log/view.py +134 -173
  31. pulumi_signalfx/metric_ruleset.py +217 -70
  32. pulumi_signalfx/opsgenie/integration.py +41 -60
  33. pulumi_signalfx/org_token.py +97 -128
  34. pulumi_signalfx/outputs.py +661 -339
  35. pulumi_signalfx/pagerduty/get_integration.py +22 -21
  36. pulumi_signalfx/pagerduty/integration.py +34 -49
  37. pulumi_signalfx/provider.py +99 -0
  38. pulumi_signalfx/pulumi-plugin.json +2 -1
  39. pulumi_signalfx/servicenow/integration.py +52 -107
  40. pulumi_signalfx/single_value_chart.py +113 -178
  41. pulumi_signalfx/slack/integration.py +30 -47
  42. pulumi_signalfx/slo.py +99 -197
  43. pulumi_signalfx/slo_chart.py +197 -0
  44. pulumi_signalfx/table_chart.py +50 -75
  45. pulumi_signalfx/team.py +74 -109
  46. pulumi_signalfx/text_chart.py +64 -89
  47. pulumi_signalfx/time_chart.py +271 -400
  48. pulumi_signalfx/victorops/integration.py +30 -47
  49. pulumi_signalfx/webhook_integration.py +154 -75
  50. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.dist-info}/METADATA +7 -6
  51. pulumi_signalfx-7.6.0a1736835428.dist-info/RECORD +65 -0
  52. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.dist-info}/WHEEL +1 -1
  53. pulumi_signalfx-7.2.0a1709367777.dist-info/RECORD +0 -64
  54. {pulumi_signalfx-7.2.0a1709367777.dist-info → pulumi_signalfx-7.6.0a1736835428.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.
@@ -691,32 +752,33 @@ class Detector(pulumi.CustomResource):
691
752
  ]
692
753
  application_delay = []
693
754
  for range in [{"value": i} for i in range(0, len(clusters))]:
694
- application_delay.append(signalfx.Detector(f"applicationDelay-{range['value']}",
755
+ application_delay.append(signalfx.Detector(f"application_delay-{range['value']}",
756
+ name=f" max average delay - {clusters[range['value']]}",
695
757
  description=f"your application is slow - {clusters[range['value']]}",
696
758
  max_delay=30,
697
759
  tags=[
698
760
  "app-backend",
699
761
  "staging",
700
762
  ],
701
- authorized_writer_teams=[signalfx_team["mycoolteam"]["id"]],
763
+ authorized_writer_teams=[mycoolteam["id"]],
702
764
  authorized_writer_users=["abc123"],
703
765
  program_text=f\"\"\"signal = data('app.delay', filter('cluster','{clusters[range["value"]]}'), extrapolation='last_value', maxExtrapolations=5).max()
704
766
  detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
705
767
  detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
706
768
  \"\"\",
707
769
  rules=[
708
- signalfx.DetectorRuleArgs(
709
- description="maximum > 60 for 5m",
710
- severity="Warning",
711
- detect_label="Processing old messages 5m",
712
- notifications=["Email,foo-alerts@bar.com"],
713
- ),
714
- signalfx.DetectorRuleArgs(
715
- description="maximum > 60 for 30m",
716
- severity="Critical",
717
- detect_label="Processing old messages 30m",
718
- notifications=["Email,foo-alerts@bar.com"],
719
- ),
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
+ },
720
782
  ]))
721
783
  ```
722
784
 
@@ -724,168 +786,74 @@ class Detector(pulumi.CustomResource):
724
786
 
725
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:
726
788
 
727
- ```python
728
- import pulumi
729
- ```
730
-
731
789
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
732
790
 
733
791
  Here are some example of how to configure each notification type:
734
792
 
735
793
  ### Email
736
794
 
737
- ```python
738
- import pulumi
739
- ```
740
-
741
795
  ### Jira
742
796
 
743
797
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
744
798
 
745
- ```python
746
- import pulumi
747
- ```
748
-
749
799
  ### OpsGenie
750
800
 
751
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.
752
802
 
753
- ```python
754
- import pulumi
755
- ```
756
-
757
803
  ### PagerDuty
758
804
 
759
- ```python
760
- import pulumi
761
- ```
762
-
763
805
  ### Slack
764
806
 
765
807
  Exclude the `#` on the channel name:
766
808
 
767
- ```python
768
- import pulumi
769
- ```
770
-
771
809
  ### Team
772
810
 
773
811
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
774
812
 
775
- ```python
776
- import pulumi
777
- ```
778
-
779
813
  ### TeamEmail
780
814
 
781
815
  Sends an email to every member of a team.
782
816
 
783
- ```python
784
- import pulumi
785
- ```
786
-
787
817
  ### Splunk On-Call (formerly VictorOps)
788
818
 
789
- ```python
790
- import pulumi
791
- ```
792
-
793
819
  ### Webhooks
794
820
 
795
821
  You need to include all the commas even if you only use a credential id.
796
822
 
797
823
  You can either configure a Webhook to use an existing integration's credential id:
798
- ```python
799
- import pulumi
800
- ```
801
824
 
802
825
  Or configure one inline:
803
826
 
804
- ```python
805
- import pulumi
806
- ```
807
-
808
- ## Arguments
809
-
810
- * `name` - (Required) Name of the detector.
811
- * `program_text` - (Required) Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
812
- * `description` - (Optional) Description of the detector.
813
- * `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`).
814
- * `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`).
815
- * `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.
816
- * `min_delay` - (Optional) How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
817
- * `show_data_markers` - (Optional) When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
818
- * `show_event_lines` - (Optional) When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
819
- * `disable_sampling` - (Optional) When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
820
- * `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.
821
- * `start_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
822
- * `end_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
823
- * `tags` - (Optional) Tags associated with the detector.
824
- * `teams` - (Optional) Team IDs to associate the detector to.
825
- * `rule` - (Required) Set of rules used for alerting.
826
- * `detect_label` - (Required) A detect label which matches a detect label within `program_text`.
827
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
828
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
829
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
830
- * `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.
831
- * `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.
832
- * `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.
833
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
834
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
835
- * `viz_options` - (Optional) Plot-level customization options, associated with a publish statement.
836
- * `label` - (Required) Label used in the publish statement that displays the plot (metric time series data) you want to customize.
837
- * `display_name` - (Optional) Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
838
- * `color` - (Optional) Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
839
- * `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`.
840
- * `value_prefix`, `value_suffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
841
-
842
- **Notes**
843
-
844
- Use both `max_delay` in your detector configuration and an `extrapolation` policy in your program text to reduce false positives and false negatives.
845
-
846
- - `max_delay` allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
847
- - `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`.
848
-
849
- See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info.
850
-
851
- ## Attributes
852
-
853
- In a addition to all arguments above, the following attributes are exported:
854
-
855
- * `id` - The ID of the detector.
856
- * `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.
857
- * `url` - The URL of the detector.
858
-
859
827
  ## Import
860
828
 
861
829
  Detectors can be imported using their string ID (recoverable from URL: `/#/detector/v2/abc123/edit`, e.g.
862
830
 
863
831
  ```sh
864
- $ pulumi import signalfx:index/detector:Detector application_delay abc123
832
+ $ pulumi import signalfx:index/detector:Detector application_delay abc123
865
833
  ```
866
834
 
867
835
  :param str resource_name: The name of the resource.
868
836
  :param pulumi.ResourceOptions opts: Options for the resource.
869
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
870
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
871
- :param pulumi.Input[str] description: Description of the detector
872
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
873
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
874
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
875
- :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
876
- is 900 (15m)
877
- :param pulumi.Input[str] name: Name of the detector
878
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
879
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]] rules: Set of rules used for alerting
880
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
881
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
882
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
883
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
884
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
885
- :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
886
- 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.
887
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)
888
- :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.
889
857
  """
890
858
  ...
891
859
  @overload
@@ -915,32 +883,33 @@ class Detector(pulumi.CustomResource):
915
883
  ]
916
884
  application_delay = []
917
885
  for range in [{"value": i} for i in range(0, len(clusters))]:
918
- application_delay.append(signalfx.Detector(f"applicationDelay-{range['value']}",
886
+ application_delay.append(signalfx.Detector(f"application_delay-{range['value']}",
887
+ name=f" max average delay - {clusters[range['value']]}",
919
888
  description=f"your application is slow - {clusters[range['value']]}",
920
889
  max_delay=30,
921
890
  tags=[
922
891
  "app-backend",
923
892
  "staging",
924
893
  ],
925
- authorized_writer_teams=[signalfx_team["mycoolteam"]["id"]],
894
+ authorized_writer_teams=[mycoolteam["id"]],
926
895
  authorized_writer_users=["abc123"],
927
896
  program_text=f\"\"\"signal = data('app.delay', filter('cluster','{clusters[range["value"]]}'), extrapolation='last_value', maxExtrapolations=5).max()
928
897
  detect(when(signal > 60, '5m')).publish('Processing old messages 5m')
929
898
  detect(when(signal > 60, '30m')).publish('Processing old messages 30m')
930
899
  \"\"\",
931
900
  rules=[
932
- signalfx.DetectorRuleArgs(
933
- description="maximum > 60 for 5m",
934
- severity="Warning",
935
- detect_label="Processing old messages 5m",
936
- notifications=["Email,foo-alerts@bar.com"],
937
- ),
938
- signalfx.DetectorRuleArgs(
939
- description="maximum > 60 for 30m",
940
- severity="Critical",
941
- detect_label="Processing old messages 30m",
942
- notifications=["Email,foo-alerts@bar.com"],
943
- ),
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
+ },
944
913
  ]))
945
914
  ```
946
915
 
@@ -948,144 +917,50 @@ class Detector(pulumi.CustomResource):
948
917
 
949
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:
950
919
 
951
- ```python
952
- import pulumi
953
- ```
954
-
955
920
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
956
921
 
957
922
  Here are some example of how to configure each notification type:
958
923
 
959
924
  ### Email
960
925
 
961
- ```python
962
- import pulumi
963
- ```
964
-
965
926
  ### Jira
966
927
 
967
928
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
968
929
 
969
- ```python
970
- import pulumi
971
- ```
972
-
973
930
  ### OpsGenie
974
931
 
975
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.
976
933
 
977
- ```python
978
- import pulumi
979
- ```
980
-
981
934
  ### PagerDuty
982
935
 
983
- ```python
984
- import pulumi
985
- ```
986
-
987
936
  ### Slack
988
937
 
989
938
  Exclude the `#` on the channel name:
990
939
 
991
- ```python
992
- import pulumi
993
- ```
994
-
995
940
  ### Team
996
941
 
997
942
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
998
943
 
999
- ```python
1000
- import pulumi
1001
- ```
1002
-
1003
944
  ### TeamEmail
1004
945
 
1005
946
  Sends an email to every member of a team.
1006
947
 
1007
- ```python
1008
- import pulumi
1009
- ```
1010
-
1011
948
  ### Splunk On-Call (formerly VictorOps)
1012
949
 
1013
- ```python
1014
- import pulumi
1015
- ```
1016
-
1017
950
  ### Webhooks
1018
951
 
1019
952
  You need to include all the commas even if you only use a credential id.
1020
953
 
1021
954
  You can either configure a Webhook to use an existing integration's credential id:
1022
- ```python
1023
- import pulumi
1024
- ```
1025
955
 
1026
956
  Or configure one inline:
1027
957
 
1028
- ```python
1029
- import pulumi
1030
- ```
1031
-
1032
- ## Arguments
1033
-
1034
- * `name` - (Required) Name of the detector.
1035
- * `program_text` - (Required) Signalflow program text for the detector. More info [in the Splunk Observability Cloud docs](https://dev.splunk.com/observability/docs/signalflow/).
1036
- * `description` - (Optional) Description of the detector.
1037
- * `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`).
1038
- * `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`).
1039
- * `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.
1040
- * `min_delay` - (Optional) How long (in seconds) to wait even if the datapoints are arriving in a timely fashion. Max value is 900 (15m).
1041
- * `show_data_markers` - (Optional) When `true`, markers will be drawn for each datapoint within the visualization. `true` by default.
1042
- * `show_event_lines` - (Optional) When `true`, the visualization will display a vertical line for each event trigger. `false` by default.
1043
- * `disable_sampling` - (Optional) When `false`, the visualization may sample the output timeseries rather than displaying them all. `false` by default.
1044
- * `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.
1045
- * `start_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1046
- * `end_time` - (Optional) Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1047
- * `tags` - (Optional) Tags associated with the detector.
1048
- * `teams` - (Optional) Team IDs to associate the detector to.
1049
- * `rule` - (Required) Set of rules used for alerting.
1050
- * `detect_label` - (Required) A detect label which matches a detect label within `program_text`.
1051
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
1052
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
1053
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
1054
- * `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.
1055
- * `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.
1056
- * `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.
1057
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
1058
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
1059
- * `viz_options` - (Optional) Plot-level customization options, associated with a publish statement.
1060
- * `label` - (Required) Label used in the publish statement that displays the plot (metric time series data) you want to customize.
1061
- * `display_name` - (Optional) Specifies an alternate value for the Plot Name column of the Data Table associated with the chart.
1062
- * `color` - (Optional) Color to use : gray, blue, azure, navy, brown, orange, yellow, iris, magenta, pink, purple, violet, lilac, emerald, green, aquamarine.
1063
- * `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`.
1064
- * `value_prefix`, `value_suffix` - (Optional) Arbitrary prefix/suffix to display with the value of this plot.
1065
-
1066
- **Notes**
1067
-
1068
- Use both `max_delay` in your detector configuration and an `extrapolation` policy in your program text to reduce false positives and false negatives.
1069
-
1070
- - `max_delay` allows Splunk Observability Cloud to continue with computation if there is a lag in receiving data points.
1071
- - `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`.
1072
-
1073
- See [Delayed Datapoints](https://docs.splunk.com/observability/en/data-visualization/charts/chart-builder.html#delayed-datapoints) for more info.
1074
-
1075
- ## Attributes
1076
-
1077
- In a addition to all arguments above, the following attributes are exported:
1078
-
1079
- * `id` - The ID of the detector.
1080
- * `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.
1081
- * `url` - The URL of the detector.
1082
-
1083
958
  ## Import
1084
959
 
1085
960
  Detectors can be imported using their string ID (recoverable from URL: `/#/detector/v2/abc123/edit`, e.g.
1086
961
 
1087
962
  ```sh
1088
- $ pulumi import signalfx:index/detector:Detector application_delay abc123
963
+ $ pulumi import signalfx:index/detector:Detector application_delay abc123
1089
964
  ```
1090
965
 
1091
966
  :param str resource_name: The name of the resource.
@@ -1106,13 +981,15 @@ class Detector(pulumi.CustomResource):
1106
981
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1107
982
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1108
983
  description: Optional[pulumi.Input[str]] = None,
984
+ detector_origin: Optional[pulumi.Input[str]] = None,
1109
985
  disable_sampling: Optional[pulumi.Input[bool]] = None,
1110
986
  end_time: Optional[pulumi.Input[int]] = None,
1111
987
  max_delay: Optional[pulumi.Input[int]] = None,
1112
988
  min_delay: Optional[pulumi.Input[int]] = None,
1113
989
  name: Optional[pulumi.Input[str]] = None,
990
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
1114
991
  program_text: Optional[pulumi.Input[str]] = None,
1115
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]]] = None,
992
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]]] = None,
1116
993
  show_data_markers: Optional[pulumi.Input[bool]] = None,
1117
994
  show_event_lines: Optional[pulumi.Input[bool]] = None,
1118
995
  start_time: Optional[pulumi.Input[int]] = None,
@@ -1120,7 +997,7 @@ class Detector(pulumi.CustomResource):
1120
997
  teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1121
998
  time_range: Optional[pulumi.Input[int]] = None,
1122
999
  timezone: Optional[pulumi.Input[str]] = None,
1123
- 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,
1124
1001
  __props__=None):
1125
1002
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1126
1003
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1133,11 +1010,13 @@ class Detector(pulumi.CustomResource):
1133
1010
  __props__.__dict__["authorized_writer_teams"] = authorized_writer_teams
1134
1011
  __props__.__dict__["authorized_writer_users"] = authorized_writer_users
1135
1012
  __props__.__dict__["description"] = description
1013
+ __props__.__dict__["detector_origin"] = detector_origin
1136
1014
  __props__.__dict__["disable_sampling"] = disable_sampling
1137
1015
  __props__.__dict__["end_time"] = end_time
1138
1016
  __props__.__dict__["max_delay"] = max_delay
1139
1017
  __props__.__dict__["min_delay"] = min_delay
1140
1018
  __props__.__dict__["name"] = name
1019
+ __props__.__dict__["parent_detector_id"] = parent_detector_id
1141
1020
  if program_text is None and not opts.urn:
1142
1021
  raise TypeError("Missing required property 'program_text'")
1143
1022
  __props__.__dict__["program_text"] = program_text
@@ -1167,14 +1046,16 @@ class Detector(pulumi.CustomResource):
1167
1046
  authorized_writer_teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1168
1047
  authorized_writer_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1169
1048
  description: Optional[pulumi.Input[str]] = None,
1049
+ detector_origin: Optional[pulumi.Input[str]] = None,
1170
1050
  disable_sampling: Optional[pulumi.Input[bool]] = None,
1171
1051
  end_time: Optional[pulumi.Input[int]] = None,
1172
1052
  label_resolutions: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None,
1173
1053
  max_delay: Optional[pulumi.Input[int]] = None,
1174
1054
  min_delay: Optional[pulumi.Input[int]] = None,
1175
1055
  name: Optional[pulumi.Input[str]] = None,
1056
+ parent_detector_id: Optional[pulumi.Input[str]] = None,
1176
1057
  program_text: Optional[pulumi.Input[str]] = None,
1177
- rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]]] = None,
1058
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DetectorRuleArgs', 'DetectorRuleArgsDict']]]]] = None,
1178
1059
  show_data_markers: Optional[pulumi.Input[bool]] = None,
1179
1060
  show_event_lines: Optional[pulumi.Input[bool]] = None,
1180
1061
  start_time: Optional[pulumi.Input[int]] = None,
@@ -1183,7 +1064,7 @@ class Detector(pulumi.CustomResource):
1183
1064
  time_range: Optional[pulumi.Input[int]] = None,
1184
1065
  timezone: Optional[pulumi.Input[str]] = None,
1185
1066
  url: Optional[pulumi.Input[str]] = None,
1186
- 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':
1187
1068
  """
1188
1069
  Get an existing Detector resource's state with the given name, id, and optional extra
1189
1070
  properties used to qualify the lookup.
@@ -1191,29 +1072,28 @@ class Detector(pulumi.CustomResource):
1191
1072
  :param str resource_name: The unique name of the resulting resource.
1192
1073
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1193
1074
  :param pulumi.ResourceOptions opts: Options for the resource.
1194
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_teams: Team IDs that have write access to this dashboard
1195
- :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_writer_users: User IDs that have write access to this dashboard
1196
- :param pulumi.Input[str] description: Description of the detector
1197
- :param pulumi.Input[bool] disable_sampling: (false by default) When false, samples a subset of the output MTS in the visualization.
1198
- :param pulumi.Input[int] end_time: Seconds since epoch. Used for visualization
1199
- :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
1200
- should be triggered
1201
- :param pulumi.Input[int] max_delay: Maximum time (in seconds) to wait for late datapoints. Max value is 900 (15m)
1202
- :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
1203
- is 900 (15m)
1204
- :param pulumi.Input[str] name: Name of the detector
1205
- :param pulumi.Input[str] program_text: Signalflow program text for the detector. More info at "https://developers.signalfx.com/docs/signalflow-overview"
1206
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DetectorRuleArgs']]]] rules: Set of rules used for alerting
1207
- :param pulumi.Input[bool] show_data_markers: (true by default) When true, markers will be drawn for each datapoint within the visualization.
1208
- :param pulumi.Input[bool] show_event_lines: (false by default) When true, vertical lines will be drawn for each triggered event within the visualization.
1209
- :param pulumi.Input[int] start_time: Seconds since epoch. Used for visualization
1210
- :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags associated with the detector
1211
- :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: Team IDs to associate the detector to
1212
- :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
1213
- 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.
1214
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)
1215
- :param pulumi.Input[str] url: URL of the detector
1216
- :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.
1217
1097
  """
1218
1098
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1219
1099
 
@@ -1222,12 +1102,14 @@ class Detector(pulumi.CustomResource):
1222
1102
  __props__.__dict__["authorized_writer_teams"] = authorized_writer_teams
1223
1103
  __props__.__dict__["authorized_writer_users"] = authorized_writer_users
1224
1104
  __props__.__dict__["description"] = description
1105
+ __props__.__dict__["detector_origin"] = detector_origin
1225
1106
  __props__.__dict__["disable_sampling"] = disable_sampling
1226
1107
  __props__.__dict__["end_time"] = end_time
1227
1108
  __props__.__dict__["label_resolutions"] = label_resolutions
1228
1109
  __props__.__dict__["max_delay"] = max_delay
1229
1110
  __props__.__dict__["min_delay"] = min_delay
1230
1111
  __props__.__dict__["name"] = name
1112
+ __props__.__dict__["parent_detector_id"] = parent_detector_id
1231
1113
  __props__.__dict__["program_text"] = program_text
1232
1114
  __props__.__dict__["rules"] = rules
1233
1115
  __props__.__dict__["show_data_markers"] = show_data_markers
@@ -1245,7 +1127,7 @@ class Detector(pulumi.CustomResource):
1245
1127
  @pulumi.getter(name="authorizedWriterTeams")
1246
1128
  def authorized_writer_teams(self) -> pulumi.Output[Optional[Sequence[str]]]:
1247
1129
  """
1248
- 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`).
1249
1131
  """
1250
1132
  return pulumi.get(self, "authorized_writer_teams")
1251
1133
 
@@ -1253,7 +1135,7 @@ class Detector(pulumi.CustomResource):
1253
1135
  @pulumi.getter(name="authorizedWriterUsers")
1254
1136
  def authorized_writer_users(self) -> pulumi.Output[Optional[Sequence[str]]]:
1255
1137
  """
1256
- 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`).
1257
1139
  """
1258
1140
  return pulumi.get(self, "authorized_writer_users")
1259
1141
 
@@ -1261,15 +1143,23 @@ class Detector(pulumi.CustomResource):
1261
1143
  @pulumi.getter
1262
1144
  def description(self) -> pulumi.Output[Optional[str]]:
1263
1145
  """
1264
- Description of the detector
1146
+ Description of the detector.
1265
1147
  """
1266
1148
  return pulumi.get(self, "description")
1267
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
+
1268
1158
  @property
1269
1159
  @pulumi.getter(name="disableSampling")
1270
1160
  def disable_sampling(self) -> pulumi.Output[Optional[bool]]:
1271
1161
  """
1272
- (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.
1273
1163
  """
1274
1164
  return pulumi.get(self, "disable_sampling")
1275
1165
 
@@ -1277,7 +1167,7 @@ class Detector(pulumi.CustomResource):
1277
1167
  @pulumi.getter(name="endTime")
1278
1168
  def end_time(self) -> pulumi.Output[Optional[int]]:
1279
1169
  """
1280
- Seconds since epoch. Used for visualization
1170
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1281
1171
  """
1282
1172
  return pulumi.get(self, "end_time")
1283
1173
 
@@ -1285,8 +1175,7 @@ class Detector(pulumi.CustomResource):
1285
1175
  @pulumi.getter(name="labelResolutions")
1286
1176
  def label_resolutions(self) -> pulumi.Output[Mapping[str, int]]:
1287
1177
  """
1288
- Resolutions of the detector alerts in milliseconds that indicate how often data is analyzed to determine if an alert
1289
- 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.
1290
1179
  """
1291
1180
  return pulumi.get(self, "label_resolutions")
1292
1181
 
@@ -1294,7 +1183,7 @@ class Detector(pulumi.CustomResource):
1294
1183
  @pulumi.getter(name="maxDelay")
1295
1184
  def max_delay(self) -> pulumi.Output[Optional[int]]:
1296
1185
  """
1297
- 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.
1298
1187
  """
1299
1188
  return pulumi.get(self, "max_delay")
1300
1189
 
@@ -1302,8 +1191,7 @@ class Detector(pulumi.CustomResource):
1302
1191
  @pulumi.getter(name="minDelay")
1303
1192
  def min_delay(self) -> pulumi.Output[Optional[int]]:
1304
1193
  """
1305
- Minimum time (in seconds) for the computation to wait even if the datapoints are arriving in a timely fashion. Max value
1306
- 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).
1307
1195
  """
1308
1196
  return pulumi.get(self, "min_delay")
1309
1197
 
@@ -1311,15 +1199,23 @@ class Detector(pulumi.CustomResource):
1311
1199
  @pulumi.getter
1312
1200
  def name(self) -> pulumi.Output[str]:
1313
1201
  """
1314
- Name of the detector
1202
+ Name of the detector.
1315
1203
  """
1316
1204
  return pulumi.get(self, "name")
1317
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
+
1318
1214
  @property
1319
1215
  @pulumi.getter(name="programText")
1320
1216
  def program_text(self) -> pulumi.Output[str]:
1321
1217
  """
1322
- 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/).
1323
1219
  """
1324
1220
  return pulumi.get(self, "program_text")
1325
1221
 
@@ -1327,7 +1223,7 @@ class Detector(pulumi.CustomResource):
1327
1223
  @pulumi.getter
1328
1224
  def rules(self) -> pulumi.Output[Sequence['outputs.DetectorRule']]:
1329
1225
  """
1330
- Set of rules used for alerting
1226
+ Set of rules used for alerting.
1331
1227
  """
1332
1228
  return pulumi.get(self, "rules")
1333
1229
 
@@ -1335,7 +1231,7 @@ class Detector(pulumi.CustomResource):
1335
1231
  @pulumi.getter(name="showDataMarkers")
1336
1232
  def show_data_markers(self) -> pulumi.Output[Optional[bool]]:
1337
1233
  """
1338
- (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.
1339
1235
  """
1340
1236
  return pulumi.get(self, "show_data_markers")
1341
1237
 
@@ -1343,7 +1239,7 @@ class Detector(pulumi.CustomResource):
1343
1239
  @pulumi.getter(name="showEventLines")
1344
1240
  def show_event_lines(self) -> pulumi.Output[Optional[bool]]:
1345
1241
  """
1346
- (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.
1347
1243
  """
1348
1244
  return pulumi.get(self, "show_event_lines")
1349
1245
 
@@ -1351,7 +1247,7 @@ class Detector(pulumi.CustomResource):
1351
1247
  @pulumi.getter(name="startTime")
1352
1248
  def start_time(self) -> pulumi.Output[Optional[int]]:
1353
1249
  """
1354
- Seconds since epoch. Used for visualization
1250
+ Seconds since epoch. Used for visualization. Conflicts with `time_range`.
1355
1251
  """
1356
1252
  return pulumi.get(self, "start_time")
1357
1253
 
@@ -1359,7 +1255,7 @@ class Detector(pulumi.CustomResource):
1359
1255
  @pulumi.getter
1360
1256
  def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1361
1257
  """
1362
- Tags associated with the detector
1258
+ Tags associated with the detector.
1363
1259
  """
1364
1260
  return pulumi.get(self, "tags")
1365
1261
 
@@ -1367,7 +1263,7 @@ class Detector(pulumi.CustomResource):
1367
1263
  @pulumi.getter
1368
1264
  def teams(self) -> pulumi.Output[Optional[Sequence[str]]]:
1369
1265
  """
1370
- Team IDs to associate the detector to
1266
+ Team IDs to associate the detector to.
1371
1267
  """
1372
1268
  return pulumi.get(self, "teams")
1373
1269
 
@@ -1375,8 +1271,7 @@ class Detector(pulumi.CustomResource):
1375
1271
  @pulumi.getter(name="timeRange")
1376
1272
  def time_range(self) -> pulumi.Output[Optional[int]]:
1377
1273
  """
1378
- Seconds to display in the visualization. This is a rolling range from the current time. Example: 3600 = `-1h`. Defaults
1379
- 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.
1380
1275
  """
1381
1276
  return pulumi.get(self, "time_range")
1382
1277
 
@@ -1392,7 +1287,7 @@ class Detector(pulumi.CustomResource):
1392
1287
  @pulumi.getter
1393
1288
  def url(self) -> pulumi.Output[str]:
1394
1289
  """
1395
- URL of the detector
1290
+ The URL of the detector.
1396
1291
  """
1397
1292
  return pulumi.get(self, "url")
1398
1293
 
@@ -1400,7 +1295,7 @@ class Detector(pulumi.CustomResource):
1400
1295
  @pulumi.getter(name="vizOptions")
1401
1296
  def viz_options(self) -> pulumi.Output[Optional[Sequence['outputs.DetectorVizOption']]]:
1402
1297
  """
1403
- Plot-level customization options, associated with a publish statement
1298
+ Plot-level customization options, associated with a publish statement.
1404
1299
  """
1405
1300
  return pulumi.get(self, "viz_options")
1406
1301