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
pulumi_signalfx/slo.py CHANGED
@@ -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 *
@@ -23,12 +28,11 @@ class SloArgs:
23
28
  name: Optional[pulumi.Input[str]] = None):
24
29
  """
25
30
  The set of arguments for constructing a Slo resource.
26
- :param pulumi.Input['SloInputArgs'] input: SignalFlow program and arguments text strings that define the streams used as successful event count and total event
27
- count
31
+ :param pulumi.Input['SloInputArgs'] input: Properties to configure an SLO object inputs
28
32
  :param pulumi.Input['SloTargetArgs'] target: Define target value of the service level indicator in the appropriate time period.
29
- :param pulumi.Input[str] type: Type of the SLO. Currently only RequestBased SLO is supported
30
- :param pulumi.Input[str] description: Description of the SLO
31
- :param pulumi.Input[str] name: Name of the SLO
33
+ :param pulumi.Input[str] type: Type of the SLO. Currently just: `"RequestBased"` is supported.
34
+ :param pulumi.Input[str] description: Description of the SLO.
35
+ :param pulumi.Input[str] name: Name of the SLO. Each SLO name must be unique within an organization.
32
36
  """
33
37
  pulumi.set(__self__, "input", input)
34
38
  pulumi.set(__self__, "target", target)
@@ -42,8 +46,7 @@ class SloArgs:
42
46
  @pulumi.getter
43
47
  def input(self) -> pulumi.Input['SloInputArgs']:
44
48
  """
45
- SignalFlow program and arguments text strings that define the streams used as successful event count and total event
46
- count
49
+ Properties to configure an SLO object inputs
47
50
  """
48
51
  return pulumi.get(self, "input")
49
52
 
@@ -67,7 +70,7 @@ class SloArgs:
67
70
  @pulumi.getter
68
71
  def type(self) -> pulumi.Input[str]:
69
72
  """
70
- Type of the SLO. Currently only RequestBased SLO is supported
73
+ Type of the SLO. Currently just: `"RequestBased"` is supported.
71
74
  """
72
75
  return pulumi.get(self, "type")
73
76
 
@@ -79,7 +82,7 @@ class SloArgs:
79
82
  @pulumi.getter
80
83
  def description(self) -> Optional[pulumi.Input[str]]:
81
84
  """
82
- Description of the SLO
85
+ Description of the SLO.
83
86
  """
84
87
  return pulumi.get(self, "description")
85
88
 
@@ -91,7 +94,7 @@ class SloArgs:
91
94
  @pulumi.getter
92
95
  def name(self) -> Optional[pulumi.Input[str]]:
93
96
  """
94
- Name of the SLO
97
+ Name of the SLO. Each SLO name must be unique within an organization.
95
98
  """
96
99
  return pulumi.get(self, "name")
97
100
 
@@ -110,12 +113,11 @@ class _SloState:
110
113
  type: Optional[pulumi.Input[str]] = None):
111
114
  """
112
115
  Input properties used for looking up and filtering Slo resources.
113
- :param pulumi.Input[str] description: Description of the SLO
114
- :param pulumi.Input['SloInputArgs'] input: SignalFlow program and arguments text strings that define the streams used as successful event count and total event
115
- count
116
- :param pulumi.Input[str] name: Name of the SLO
116
+ :param pulumi.Input[str] description: Description of the SLO.
117
+ :param pulumi.Input['SloInputArgs'] input: Properties to configure an SLO object inputs
118
+ :param pulumi.Input[str] name: Name of the SLO. Each SLO name must be unique within an organization.
117
119
  :param pulumi.Input['SloTargetArgs'] target: Define target value of the service level indicator in the appropriate time period.
118
- :param pulumi.Input[str] type: Type of the SLO. Currently only RequestBased SLO is supported
120
+ :param pulumi.Input[str] type: Type of the SLO. Currently just: `"RequestBased"` is supported.
119
121
  """
120
122
  if description is not None:
121
123
  pulumi.set(__self__, "description", description)
@@ -132,7 +134,7 @@ class _SloState:
132
134
  @pulumi.getter
133
135
  def description(self) -> Optional[pulumi.Input[str]]:
134
136
  """
135
- Description of the SLO
137
+ Description of the SLO.
136
138
  """
137
139
  return pulumi.get(self, "description")
138
140
 
@@ -144,8 +146,7 @@ class _SloState:
144
146
  @pulumi.getter
145
147
  def input(self) -> Optional[pulumi.Input['SloInputArgs']]:
146
148
  """
147
- SignalFlow program and arguments text strings that define the streams used as successful event count and total event
148
- count
149
+ Properties to configure an SLO object inputs
149
150
  """
150
151
  return pulumi.get(self, "input")
151
152
 
@@ -157,7 +158,7 @@ class _SloState:
157
158
  @pulumi.getter
158
159
  def name(self) -> Optional[pulumi.Input[str]]:
159
160
  """
160
- Name of the SLO
161
+ Name of the SLO. Each SLO name must be unique within an organization.
161
162
  """
162
163
  return pulumi.get(self, "name")
163
164
 
@@ -181,7 +182,7 @@ class _SloState:
181
182
  @pulumi.getter
182
183
  def type(self) -> Optional[pulumi.Input[str]]:
183
184
  """
184
- Type of the SLO. Currently only RequestBased SLO is supported
185
+ Type of the SLO. Currently just: `"RequestBased"` is supported.
185
186
  """
186
187
  return pulumi.get(self, "type")
187
188
 
@@ -196,9 +197,9 @@ class Slo(pulumi.CustomResource):
196
197
  resource_name: str,
197
198
  opts: Optional[pulumi.ResourceOptions] = None,
198
199
  description: Optional[pulumi.Input[str]] = None,
199
- input: Optional[pulumi.Input[pulumi.InputType['SloInputArgs']]] = None,
200
+ input: Optional[pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']]] = None,
200
201
  name: Optional[pulumi.Input[str]] = None,
201
- target: Optional[pulumi.Input[pulumi.InputType['SloTargetArgs']]] = None,
202
+ target: Optional[pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']]] = None,
202
203
  type: Optional[pulumi.Input[str]] = None,
203
204
  __props__=None):
204
205
  """
@@ -206,134 +207,85 @@ class Slo(pulumi.CustomResource):
206
207
 
207
208
  To learn more about this feature take a look on [documentation for SLO](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/slo-intro.html).
208
209
 
209
- ## Notification format
210
-
211
- 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:
210
+ ## Example
212
211
 
213
212
  ```python
214
213
  import pulumi
214
+ import pulumi_signalfx as signalfx
215
+
216
+ foo_service_slo = signalfx.Slo("foo_service_slo",
217
+ name="foo service SLO",
218
+ type="RequestBased",
219
+ description="SLO monitoring for foo service",
220
+ input={
221
+ "program_text": \"\"\"G = data('spans.count', filter=filter('sf_error', 'false') and filter('sf_service', 'foo-service'))
222
+ T = data('spans.count', filter=filter('sf_service', 'foo-service'))\"\"\",
223
+ "good_events_label": "G",
224
+ "total_events_label": "T",
225
+ },
226
+ target={
227
+ "type": "RollingWindow",
228
+ "slo": 95,
229
+ "compliance_period": "30d",
230
+ "alert_rules": [{
231
+ "type": "BREACH",
232
+ "rules": [{
233
+ "severity": "Warning",
234
+ "notifications": ["Email,foo-alerts@bar.com"],
235
+ }],
236
+ }],
237
+ })
215
238
  ```
216
239
 
240
+ ## Notification format
241
+
242
+ 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:
243
+
217
244
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
218
245
 
219
246
  Here are some example of how to configure each notification type:
220
247
 
221
248
  ### Email
222
249
 
223
- ```python
224
- import pulumi
225
- ```
226
-
227
250
  ### Jira
228
251
 
229
252
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
230
253
 
231
- ```python
232
- import pulumi
233
- ```
234
-
235
254
  ### OpsGenie
236
255
 
237
256
  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.
238
257
 
239
- ```python
240
- import pulumi
241
- ```
242
-
243
258
  ### PagerDuty
244
259
 
245
- ```python
246
- import pulumi
247
- ```
248
-
249
260
  ### Slack
250
261
 
251
262
  Exclude the `#` on the channel name:
252
263
 
253
- ```python
254
- import pulumi
255
- ```
256
-
257
264
  ### Team
258
265
 
259
266
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
260
267
 
261
- ```python
262
- import pulumi
263
- ```
264
-
265
268
  ### TeamEmail
266
269
 
267
270
  Sends an email to every member of a team.
268
271
 
269
- ```python
270
- import pulumi
271
- ```
272
-
273
272
  ### Splunk On-Call (formerly VictorOps)
274
273
 
275
- ```python
276
- import pulumi
277
- ```
278
-
279
274
  ### Webhooks
280
275
 
281
276
  You need to include all the commas even if you only use a credential id.
282
277
 
283
278
  You can either configure a Webhook to use an existing integration's credential id:
284
- ```python
285
- import pulumi
286
- ```
287
279
 
288
280
  Or configure one inline:
289
281
 
290
- ```python
291
- import pulumi
292
- ```
293
-
294
- ## Arguments
295
-
296
- * `name` - (Required) Name of the SLO. Each SLO name must be unique within an organization.
297
- * `description` - (Optional) Description of the SLO.
298
- * `type` - (Required) Type of the SLO. Currently just: `"RequestBased"` is supported.
299
- * `input` - (Required) Properties to configure an SLO object inputs
300
- * `program_text` - (Required) SignalFlow program and arguments text strings that define the streams used as successful event count and total event count
301
- * `good_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of successful events
302
- * `total_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of total events
303
- * `target` - (Required) Define target value of the service level indicator in the appropriate time period.
304
- * `type` - (Required) SLO target type can be the following type: `"RollingWindow"`
305
- * `compliance_period` - (Required for `"RollingWindow"` type) Compliance period of this SLO. This value must be within the range of 1d (1 days) to 30d (30 days), inclusive.
306
- * `slo` - (Required) Target value in the form of a percentage
307
- * `alert_rule` - (Required) List of alert rules you want to set for this SLO target. An SLO alert rule of type BREACH is always required.
308
- * `type` - (Required) SLO alert rule can be one of the following types: BREACH, ERROR_BUDGET_LEFT, BURN_RATE. Within an SLO object, you can only specify one SLO alert_rule per type. For example, you can't specify two alert_rule of type BREACH. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
309
- * `rule` - (Required) Set of rules used for alerting.
310
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
311
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
312
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
313
- * `notifications` - (Optional) List of strings specifying where notifications will be sent when an incident occurs. See [Create SLO](https://dev.splunk.com/observability/reference/api/slo/latest#endpoint-create-new-slo) for more info.
314
- * `parameterized_body` - (Optional) Custom notification message body when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
315
- * `parameterized_subject` - (Optional) Custom notification message subject when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
316
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
317
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
318
- * `parameters` - (Optional) Parameters for the SLO alert rule. Each SLO alert rule type accepts different parameters. If not specified, default parameters are used.
319
- * `fire_lasting` - (Optional) Duration that indicates how long the alert condition is met before the alert is triggered. The value must be positive and smaller than the compliance period of the SLO target. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the fireLasting parameter. Default: `"5m"`
320
- * `percent_of_lasting` - (Optional) Percentage of the `"fire_lasting"` duration that the alert condition is met before the alert is triggered. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the `"percent_of_lasting"` parameter. Default: `100`
321
- * `percent_error_budget_left` - (Optional) Error budget must be equal to or smaller than this percentage for the alert to be triggered. Note: `"ERROR_BUDGET_LEFT"` alert rules use the `"percent_error_budget_left"` parameter. Default: `100`
322
- * `short_window_1` - (Optional) Short window 1 used in burn rate alert calculation. This value must be longer than 1/30 of `"long_window_1"`. Note: `"BURN_RATE"` alert rules use the `"short_window_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
323
- * `short_window_2` - (Optional) Short window 2 used in burn rate alert calculation. This value must be longer than 1/30 of `"long_window_2"`. Note: `"BURN_RATE"` alert rules use the `"short_window_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
324
- * `long_window_1` - (Optional) Long window 1 used in burn rate alert calculation. This value must be longer than `"short_window_1"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"long_window_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
325
- * `long_window_2` - (Optional) Long window 2 used in burn rate alert calculation. This value must be longer than `"short_window_2"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"long_window_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
326
- * `burn_rate_threshold_1` - (Optional) Burn rate threshold 1 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burn_rate_threshold_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
327
- * `burn_rate_threshold_2` - (Optional) Burn rate threshold 2 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burn_rate_threshold_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
328
-
329
282
  :param str resource_name: The name of the resource.
330
283
  :param pulumi.ResourceOptions opts: Options for the resource.
331
- :param pulumi.Input[str] description: Description of the SLO
332
- :param pulumi.Input[pulumi.InputType['SloInputArgs']] input: SignalFlow program and arguments text strings that define the streams used as successful event count and total event
333
- count
334
- :param pulumi.Input[str] name: Name of the SLO
335
- :param pulumi.Input[pulumi.InputType['SloTargetArgs']] target: Define target value of the service level indicator in the appropriate time period.
336
- :param pulumi.Input[str] type: Type of the SLO. Currently only RequestBased SLO is supported
284
+ :param pulumi.Input[str] description: Description of the SLO.
285
+ :param pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']] input: Properties to configure an SLO object inputs
286
+ :param pulumi.Input[str] name: Name of the SLO. Each SLO name must be unique within an organization.
287
+ :param pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']] target: Define target value of the service level indicator in the appropriate time period.
288
+ :param pulumi.Input[str] type: Type of the SLO. Currently just: `"RequestBased"` is supported.
337
289
  """
338
290
  ...
339
291
  @overload
@@ -346,126 +298,78 @@ class Slo(pulumi.CustomResource):
346
298
 
347
299
  To learn more about this feature take a look on [documentation for SLO](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/slo-intro.html).
348
300
 
349
- ## Notification format
350
-
351
- 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:
301
+ ## Example
352
302
 
353
303
  ```python
354
304
  import pulumi
305
+ import pulumi_signalfx as signalfx
306
+
307
+ foo_service_slo = signalfx.Slo("foo_service_slo",
308
+ name="foo service SLO",
309
+ type="RequestBased",
310
+ description="SLO monitoring for foo service",
311
+ input={
312
+ "program_text": \"\"\"G = data('spans.count', filter=filter('sf_error', 'false') and filter('sf_service', 'foo-service'))
313
+ T = data('spans.count', filter=filter('sf_service', 'foo-service'))\"\"\",
314
+ "good_events_label": "G",
315
+ "total_events_label": "T",
316
+ },
317
+ target={
318
+ "type": "RollingWindow",
319
+ "slo": 95,
320
+ "compliance_period": "30d",
321
+ "alert_rules": [{
322
+ "type": "BREACH",
323
+ "rules": [{
324
+ "severity": "Warning",
325
+ "notifications": ["Email,foo-alerts@bar.com"],
326
+ }],
327
+ }],
328
+ })
355
329
  ```
356
330
 
331
+ ## Notification format
332
+
333
+ 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:
334
+
357
335
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
358
336
 
359
337
  Here are some example of how to configure each notification type:
360
338
 
361
339
  ### Email
362
340
 
363
- ```python
364
- import pulumi
365
- ```
366
-
367
341
  ### Jira
368
342
 
369
343
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
370
344
 
371
- ```python
372
- import pulumi
373
- ```
374
-
375
345
  ### OpsGenie
376
346
 
377
347
  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.
378
348
 
379
- ```python
380
- import pulumi
381
- ```
382
-
383
349
  ### PagerDuty
384
350
 
385
- ```python
386
- import pulumi
387
- ```
388
-
389
351
  ### Slack
390
352
 
391
353
  Exclude the `#` on the channel name:
392
354
 
393
- ```python
394
- import pulumi
395
- ```
396
-
397
355
  ### Team
398
356
 
399
357
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
400
358
 
401
- ```python
402
- import pulumi
403
- ```
404
-
405
359
  ### TeamEmail
406
360
 
407
361
  Sends an email to every member of a team.
408
362
 
409
- ```python
410
- import pulumi
411
- ```
412
-
413
363
  ### Splunk On-Call (formerly VictorOps)
414
364
 
415
- ```python
416
- import pulumi
417
- ```
418
-
419
365
  ### Webhooks
420
366
 
421
367
  You need to include all the commas even if you only use a credential id.
422
368
 
423
369
  You can either configure a Webhook to use an existing integration's credential id:
424
- ```python
425
- import pulumi
426
- ```
427
370
 
428
371
  Or configure one inline:
429
372
 
430
- ```python
431
- import pulumi
432
- ```
433
-
434
- ## Arguments
435
-
436
- * `name` - (Required) Name of the SLO. Each SLO name must be unique within an organization.
437
- * `description` - (Optional) Description of the SLO.
438
- * `type` - (Required) Type of the SLO. Currently just: `"RequestBased"` is supported.
439
- * `input` - (Required) Properties to configure an SLO object inputs
440
- * `program_text` - (Required) SignalFlow program and arguments text strings that define the streams used as successful event count and total event count
441
- * `good_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of successful events
442
- * `total_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of total events
443
- * `target` - (Required) Define target value of the service level indicator in the appropriate time period.
444
- * `type` - (Required) SLO target type can be the following type: `"RollingWindow"`
445
- * `compliance_period` - (Required for `"RollingWindow"` type) Compliance period of this SLO. This value must be within the range of 1d (1 days) to 30d (30 days), inclusive.
446
- * `slo` - (Required) Target value in the form of a percentage
447
- * `alert_rule` - (Required) List of alert rules you want to set for this SLO target. An SLO alert rule of type BREACH is always required.
448
- * `type` - (Required) SLO alert rule can be one of the following types: BREACH, ERROR_BUDGET_LEFT, BURN_RATE. Within an SLO object, you can only specify one SLO alert_rule per type. For example, you can't specify two alert_rule of type BREACH. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
449
- * `rule` - (Required) Set of rules used for alerting.
450
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
451
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
452
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
453
- * `notifications` - (Optional) List of strings specifying where notifications will be sent when an incident occurs. See [Create SLO](https://dev.splunk.com/observability/reference/api/slo/latest#endpoint-create-new-slo) for more info.
454
- * `parameterized_body` - (Optional) Custom notification message body when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
455
- * `parameterized_subject` - (Optional) Custom notification message subject when an alert is triggered. See [Alert message](https://docs.splunk.com/observability/en/alerts-detectors-notifications/create-detectors-for-alerts.html#alert-messages) for more info.
456
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
457
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
458
- * `parameters` - (Optional) Parameters for the SLO alert rule. Each SLO alert rule type accepts different parameters. If not specified, default parameters are used.
459
- * `fire_lasting` - (Optional) Duration that indicates how long the alert condition is met before the alert is triggered. The value must be positive and smaller than the compliance period of the SLO target. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the fireLasting parameter. Default: `"5m"`
460
- * `percent_of_lasting` - (Optional) Percentage of the `"fire_lasting"` duration that the alert condition is met before the alert is triggered. Note: `"BREACH"` and `"ERROR_BUDGET_LEFT"` alert rules use the `"percent_of_lasting"` parameter. Default: `100`
461
- * `percent_error_budget_left` - (Optional) Error budget must be equal to or smaller than this percentage for the alert to be triggered. Note: `"ERROR_BUDGET_LEFT"` alert rules use the `"percent_error_budget_left"` parameter. Default: `100`
462
- * `short_window_1` - (Optional) Short window 1 used in burn rate alert calculation. This value must be longer than 1/30 of `"long_window_1"`. Note: `"BURN_RATE"` alert rules use the `"short_window_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
463
- * `short_window_2` - (Optional) Short window 2 used in burn rate alert calculation. This value must be longer than 1/30 of `"long_window_2"`. Note: `"BURN_RATE"` alert rules use the `"short_window_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
464
- * `long_window_1` - (Optional) Long window 1 used in burn rate alert calculation. This value must be longer than `"short_window_1"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"long_window_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
465
- * `long_window_2` - (Optional) Long window 2 used in burn rate alert calculation. This value must be longer than `"short_window_2"` and shorter than 90 days. Note: `"BURN_RATE"` alert rules use the `"long_window_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
466
- * `burn_rate_threshold_1` - (Optional) Burn rate threshold 1 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burn_rate_threshold_1"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
467
- * `burn_rate_threshold_2` - (Optional) Burn rate threshold 2 used in burn rate alert calculation. This value must be between 0 and 100/(100-SLO target). Note: `"BURN_RATE"` alert rules use the `"burn_rate_threshold_2"` parameter. See [SLO alerts](https://docs.splunk.com/observability/en/alerts-detectors-notifications/slo/burn-rate-alerts.html) for more info.
468
-
469
373
  :param str resource_name: The name of the resource.
470
374
  :param SloArgs args: The arguments to use to populate this resource's properties.
471
375
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -482,9 +386,9 @@ class Slo(pulumi.CustomResource):
482
386
  resource_name: str,
483
387
  opts: Optional[pulumi.ResourceOptions] = None,
484
388
  description: Optional[pulumi.Input[str]] = None,
485
- input: Optional[pulumi.Input[pulumi.InputType['SloInputArgs']]] = None,
389
+ input: Optional[pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']]] = None,
486
390
  name: Optional[pulumi.Input[str]] = None,
487
- target: Optional[pulumi.Input[pulumi.InputType['SloTargetArgs']]] = None,
391
+ target: Optional[pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']]] = None,
488
392
  type: Optional[pulumi.Input[str]] = None,
489
393
  __props__=None):
490
394
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -517,9 +421,9 @@ class Slo(pulumi.CustomResource):
517
421
  id: pulumi.Input[str],
518
422
  opts: Optional[pulumi.ResourceOptions] = None,
519
423
  description: Optional[pulumi.Input[str]] = None,
520
- input: Optional[pulumi.Input[pulumi.InputType['SloInputArgs']]] = None,
424
+ input: Optional[pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']]] = None,
521
425
  name: Optional[pulumi.Input[str]] = None,
522
- target: Optional[pulumi.Input[pulumi.InputType['SloTargetArgs']]] = None,
426
+ target: Optional[pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']]] = None,
523
427
  type: Optional[pulumi.Input[str]] = None) -> 'Slo':
524
428
  """
525
429
  Get an existing Slo resource's state with the given name, id, and optional extra
@@ -528,12 +432,11 @@ class Slo(pulumi.CustomResource):
528
432
  :param str resource_name: The unique name of the resulting resource.
529
433
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
530
434
  :param pulumi.ResourceOptions opts: Options for the resource.
531
- :param pulumi.Input[str] description: Description of the SLO
532
- :param pulumi.Input[pulumi.InputType['SloInputArgs']] input: SignalFlow program and arguments text strings that define the streams used as successful event count and total event
533
- count
534
- :param pulumi.Input[str] name: Name of the SLO
535
- :param pulumi.Input[pulumi.InputType['SloTargetArgs']] target: Define target value of the service level indicator in the appropriate time period.
536
- :param pulumi.Input[str] type: Type of the SLO. Currently only RequestBased SLO is supported
435
+ :param pulumi.Input[str] description: Description of the SLO.
436
+ :param pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']] input: Properties to configure an SLO object inputs
437
+ :param pulumi.Input[str] name: Name of the SLO. Each SLO name must be unique within an organization.
438
+ :param pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']] target: Define target value of the service level indicator in the appropriate time period.
439
+ :param pulumi.Input[str] type: Type of the SLO. Currently just: `"RequestBased"` is supported.
537
440
  """
538
441
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
539
442
 
@@ -550,7 +453,7 @@ class Slo(pulumi.CustomResource):
550
453
  @pulumi.getter
551
454
  def description(self) -> pulumi.Output[Optional[str]]:
552
455
  """
553
- Description of the SLO
456
+ Description of the SLO.
554
457
  """
555
458
  return pulumi.get(self, "description")
556
459
 
@@ -558,8 +461,7 @@ class Slo(pulumi.CustomResource):
558
461
  @pulumi.getter
559
462
  def input(self) -> pulumi.Output['outputs.SloInput']:
560
463
  """
561
- SignalFlow program and arguments text strings that define the streams used as successful event count and total event
562
- count
464
+ Properties to configure an SLO object inputs
563
465
  """
564
466
  return pulumi.get(self, "input")
565
467
 
@@ -567,7 +469,7 @@ class Slo(pulumi.CustomResource):
567
469
  @pulumi.getter
568
470
  def name(self) -> pulumi.Output[str]:
569
471
  """
570
- Name of the SLO
472
+ Name of the SLO. Each SLO name must be unique within an organization.
571
473
  """
572
474
  return pulumi.get(self, "name")
573
475
 
@@ -583,7 +485,7 @@ class Slo(pulumi.CustomResource):
583
485
  @pulumi.getter
584
486
  def type(self) -> pulumi.Output[str]:
585
487
  """
586
- Type of the SLO. Currently only RequestBased SLO is supported
488
+ Type of the SLO. Currently just: `"RequestBased"` is supported.
587
489
  """
588
490
  return pulumi.get(self, "type")
589
491