pulumi-signalfx 7.2.0a1710160099__py3-none-any.whl → 7.6.0a1736849687__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. pulumi_signalfx/__init__.py +9 -0
  2. pulumi_signalfx/_inputs.py +1976 -339
  3. pulumi_signalfx/_utilities.py +41 -5
  4. pulumi_signalfx/alert_muting_rule.py +126 -72
  5. pulumi_signalfx/aws/_inputs.py +85 -16
  6. pulumi_signalfx/aws/external_integration.py +20 -43
  7. pulumi_signalfx/aws/integration.py +252 -321
  8. pulumi_signalfx/aws/outputs.py +21 -16
  9. pulumi_signalfx/aws/token_integration.py +76 -31
  10. pulumi_signalfx/azure/_inputs.py +41 -4
  11. pulumi_signalfx/azure/integration.py +170 -217
  12. pulumi_signalfx/azure/outputs.py +15 -4
  13. pulumi_signalfx/config/__init__.pyi +22 -0
  14. pulumi_signalfx/config/vars.py +28 -0
  15. pulumi_signalfx/dashboard.py +171 -186
  16. pulumi_signalfx/dashboard_group.py +191 -140
  17. pulumi_signalfx/data_link.py +102 -109
  18. pulumi_signalfx/detector.py +318 -383
  19. pulumi_signalfx/event_feed_chart.py +51 -86
  20. pulumi_signalfx/gcp/_inputs.py +51 -0
  21. pulumi_signalfx/gcp/integration.py +224 -148
  22. pulumi_signalfx/gcp/outputs.py +44 -0
  23. pulumi_signalfx/get_dimension_values.py +47 -8
  24. pulumi_signalfx/heatmap_chart.py +191 -174
  25. pulumi_signalfx/jira/integration.py +86 -103
  26. pulumi_signalfx/list_chart.py +243 -255
  27. pulumi_signalfx/log/_inputs.py +33 -2
  28. pulumi_signalfx/log/outputs.py +7 -2
  29. pulumi_signalfx/log/timeline.py +76 -87
  30. pulumi_signalfx/log/view.py +146 -113
  31. pulumi_signalfx/metric_ruleset.py +213 -70
  32. pulumi_signalfx/opsgenie/integration.py +51 -50
  33. pulumi_signalfx/org_token.py +111 -104
  34. pulumi_signalfx/outputs.py +661 -339
  35. pulumi_signalfx/pagerduty/get_integration.py +22 -25
  36. pulumi_signalfx/pagerduty/integration.py +42 -39
  37. pulumi_signalfx/provider.py +99 -0
  38. pulumi_signalfx/pulumi-plugin.json +2 -1
  39. pulumi_signalfx/servicenow/integration.py +68 -95
  40. pulumi_signalfx/single_value_chart.py +131 -162
  41. pulumi_signalfx/slack/integration.py +42 -41
  42. pulumi_signalfx/slo.py +97 -243
  43. pulumi_signalfx/slo_chart.py +197 -0
  44. pulumi_signalfx/table_chart.py +66 -65
  45. pulumi_signalfx/team.py +100 -107
  46. pulumi_signalfx/text_chart.py +72 -45
  47. pulumi_signalfx/time_chart.py +287 -352
  48. pulumi_signalfx/victorops/integration.py +42 -41
  49. pulumi_signalfx/webhook_integration.py +168 -61
  50. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/METADATA +7 -6
  51. pulumi_signalfx-7.6.0a1736849687.dist-info/RECORD +65 -0
  52. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/WHEEL +1 -1
  53. pulumi_signalfx-7.2.0a1710160099.dist-info/RECORD +0 -64
  54. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736849687.dist-info}/top_level.txt +0 -0
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
  """
@@ -208,15 +209,37 @@ class Slo(pulumi.CustomResource):
208
209
 
209
210
  ## Example
210
211
 
211
- ## Notification format
212
-
213
- 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:
214
-
215
- <!--Start PulumiCodeChooser -->
216
212
  ```python
217
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
+ })
218
238
  ```
219
- <!--End PulumiCodeChooser -->
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:
220
243
 
221
244
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
222
245
 
@@ -224,140 +247,45 @@ class Slo(pulumi.CustomResource):
224
247
 
225
248
  ### Email
226
249
 
227
- <!--Start PulumiCodeChooser -->
228
- ```python
229
- import pulumi
230
- ```
231
- <!--End PulumiCodeChooser -->
232
-
233
250
  ### Jira
234
251
 
235
252
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
236
253
 
237
- <!--Start PulumiCodeChooser -->
238
- ```python
239
- import pulumi
240
- ```
241
- <!--End PulumiCodeChooser -->
242
-
243
254
  ### OpsGenie
244
255
 
245
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.
246
257
 
247
- <!--Start PulumiCodeChooser -->
248
- ```python
249
- import pulumi
250
- ```
251
- <!--End PulumiCodeChooser -->
252
-
253
258
  ### PagerDuty
254
259
 
255
- <!--Start PulumiCodeChooser -->
256
- ```python
257
- import pulumi
258
- ```
259
- <!--End PulumiCodeChooser -->
260
-
261
260
  ### Slack
262
261
 
263
262
  Exclude the `#` on the channel name:
264
263
 
265
- <!--Start PulumiCodeChooser -->
266
- ```python
267
- import pulumi
268
- ```
269
- <!--End PulumiCodeChooser -->
270
-
271
264
  ### Team
272
265
 
273
266
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
274
267
 
275
- <!--Start PulumiCodeChooser -->
276
- ```python
277
- import pulumi
278
- ```
279
- <!--End PulumiCodeChooser -->
280
-
281
268
  ### TeamEmail
282
269
 
283
270
  Sends an email to every member of a team.
284
271
 
285
- <!--Start PulumiCodeChooser -->
286
- ```python
287
- import pulumi
288
- ```
289
- <!--End PulumiCodeChooser -->
290
-
291
272
  ### Splunk On-Call (formerly VictorOps)
292
273
 
293
- <!--Start PulumiCodeChooser -->
294
- ```python
295
- import pulumi
296
- ```
297
- <!--End PulumiCodeChooser -->
298
-
299
274
  ### Webhooks
300
275
 
301
276
  You need to include all the commas even if you only use a credential id.
302
277
 
303
278
  You can either configure a Webhook to use an existing integration's credential id:
304
- <!--Start PulumiCodeChooser -->
305
- ```python
306
- import pulumi
307
- ```
308
- <!--End PulumiCodeChooser -->
309
279
 
310
280
  Or configure one inline:
311
281
 
312
- <!--Start PulumiCodeChooser -->
313
- ```python
314
- import pulumi
315
- ```
316
- <!--End PulumiCodeChooser -->
317
-
318
- ## Arguments
319
-
320
- * `name` - (Required) Name of the SLO. Each SLO name must be unique within an organization.
321
- * `description` - (Optional) Description of the SLO.
322
- * `type` - (Required) Type of the SLO. Currently just: `"RequestBased"` is supported.
323
- * `input` - (Required) Properties to configure an SLO object inputs
324
- * `program_text` - (Required) SignalFlow program and arguments text strings that define the streams used as successful event count and total event count
325
- * `good_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of successful events
326
- * `total_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of total events
327
- * `target` - (Required) Define target value of the service level indicator in the appropriate time period.
328
- * `type` - (Required) SLO target type can be the following type: `"RollingWindow"`
329
- * `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.
330
- * `slo` - (Required) Target value in the form of a percentage
331
- * `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.
332
- * `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.
333
- * `rule` - (Required) Set of rules used for alerting.
334
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
335
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
336
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
337
- * `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.
338
- * `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.
339
- * `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.
340
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
341
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
342
- * `parameters` - (Optional) Parameters for the SLO alert rule. Each SLO alert rule type accepts different parameters. If not specified, default parameters are used.
343
- * `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"`
344
- * `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`
345
- * `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`
346
- * `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.
347
- * `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.
348
- * `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.
349
- * `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.
350
- * `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.
351
- * `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.
352
-
353
282
  :param str resource_name: The name of the resource.
354
283
  :param pulumi.ResourceOptions opts: Options for the resource.
355
- :param pulumi.Input[str] description: Description of the SLO
356
- :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
357
- count
358
- :param pulumi.Input[str] name: Name of the SLO
359
- :param pulumi.Input[pulumi.InputType['SloTargetArgs']] target: Define target value of the service level indicator in the appropriate time period.
360
- :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.
361
289
  """
362
290
  ...
363
291
  @overload
@@ -372,15 +300,37 @@ class Slo(pulumi.CustomResource):
372
300
 
373
301
  ## Example
374
302
 
375
- ## Notification format
376
-
377
- 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:
378
-
379
- <!--Start PulumiCodeChooser -->
380
303
  ```python
381
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
+ })
382
329
  ```
383
- <!--End PulumiCodeChooser -->
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:
384
334
 
385
335
  See [Splunk Observability Cloud Docs](https://dev.splunk.com/observability/reference/api/detectors/latest) for more information.
386
336
 
@@ -388,132 +338,38 @@ class Slo(pulumi.CustomResource):
388
338
 
389
339
  ### Email
390
340
 
391
- <!--Start PulumiCodeChooser -->
392
- ```python
393
- import pulumi
394
- ```
395
- <!--End PulumiCodeChooser -->
396
-
397
341
  ### Jira
398
342
 
399
343
  Note that the `credentialId` is the Splunk-provided ID shown after setting up your Jira integration. See also `jira.Integration`.
400
344
 
401
- <!--Start PulumiCodeChooser -->
402
- ```python
403
- import pulumi
404
- ```
405
- <!--End PulumiCodeChooser -->
406
-
407
345
  ### OpsGenie
408
346
 
409
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.
410
348
 
411
- <!--Start PulumiCodeChooser -->
412
- ```python
413
- import pulumi
414
- ```
415
- <!--End PulumiCodeChooser -->
416
-
417
349
  ### PagerDuty
418
350
 
419
- <!--Start PulumiCodeChooser -->
420
- ```python
421
- import pulumi
422
- ```
423
- <!--End PulumiCodeChooser -->
424
-
425
351
  ### Slack
426
352
 
427
353
  Exclude the `#` on the channel name:
428
354
 
429
- <!--Start PulumiCodeChooser -->
430
- ```python
431
- import pulumi
432
- ```
433
- <!--End PulumiCodeChooser -->
434
-
435
355
  ### Team
436
356
 
437
357
  Sends [notifications to a team](https://docs.signalfx.com/en/latest/managing/teams/team-notifications.html).
438
358
 
439
- <!--Start PulumiCodeChooser -->
440
- ```python
441
- import pulumi
442
- ```
443
- <!--End PulumiCodeChooser -->
444
-
445
359
  ### TeamEmail
446
360
 
447
361
  Sends an email to every member of a team.
448
362
 
449
- <!--Start PulumiCodeChooser -->
450
- ```python
451
- import pulumi
452
- ```
453
- <!--End PulumiCodeChooser -->
454
-
455
363
  ### Splunk On-Call (formerly VictorOps)
456
364
 
457
- <!--Start PulumiCodeChooser -->
458
- ```python
459
- import pulumi
460
- ```
461
- <!--End PulumiCodeChooser -->
462
-
463
365
  ### Webhooks
464
366
 
465
367
  You need to include all the commas even if you only use a credential id.
466
368
 
467
369
  You can either configure a Webhook to use an existing integration's credential id:
468
- <!--Start PulumiCodeChooser -->
469
- ```python
470
- import pulumi
471
- ```
472
- <!--End PulumiCodeChooser -->
473
370
 
474
371
  Or configure one inline:
475
372
 
476
- <!--Start PulumiCodeChooser -->
477
- ```python
478
- import pulumi
479
- ```
480
- <!--End PulumiCodeChooser -->
481
-
482
- ## Arguments
483
-
484
- * `name` - (Required) Name of the SLO. Each SLO name must be unique within an organization.
485
- * `description` - (Optional) Description of the SLO.
486
- * `type` - (Required) Type of the SLO. Currently just: `"RequestBased"` is supported.
487
- * `input` - (Required) Properties to configure an SLO object inputs
488
- * `program_text` - (Required) SignalFlow program and arguments text strings that define the streams used as successful event count and total event count
489
- * `good_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of successful events
490
- * `total_events_label` - (Required) Label used in `"program_text"` that refers to the data block which contains the stream of total events
491
- * `target` - (Required) Define target value of the service level indicator in the appropriate time period.
492
- * `type` - (Required) SLO target type can be the following type: `"RollingWindow"`
493
- * `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.
494
- * `slo` - (Required) Target value in the form of a percentage
495
- * `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.
496
- * `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.
497
- * `rule` - (Required) Set of rules used for alerting.
498
- * `severity` - (Required) The severity of the rule, must be one of: `"Critical"`, `"Major"`, `"Minor"`, `"Warning"`, `"Info"`.
499
- * `description` - (Optional) Description for the rule. Displays as the alert condition in the Alert Rules tab of the detector editor in the web UI.
500
- * `disabled` - (Optional) When true, notifications and events will not be generated for the detect label. `false` by default.
501
- * `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.
502
- * `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.
503
- * `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.
504
- * `runbook_url` - (Optional) URL of page to consult when an alert is triggered. This can be used with custom notification messages.
505
- * `tip` - (Optional) Plain text suggested first course of action, such as a command line to execute. This can be used with custom notification messages.
506
- * `parameters` - (Optional) Parameters for the SLO alert rule. Each SLO alert rule type accepts different parameters. If not specified, default parameters are used.
507
- * `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"`
508
- * `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`
509
- * `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`
510
- * `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.
511
- * `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.
512
- * `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.
513
- * `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.
514
- * `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.
515
- * `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.
516
-
517
373
  :param str resource_name: The name of the resource.
518
374
  :param SloArgs args: The arguments to use to populate this resource's properties.
519
375
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -530,9 +386,9 @@ class Slo(pulumi.CustomResource):
530
386
  resource_name: str,
531
387
  opts: Optional[pulumi.ResourceOptions] = None,
532
388
  description: Optional[pulumi.Input[str]] = None,
533
- input: Optional[pulumi.Input[pulumi.InputType['SloInputArgs']]] = None,
389
+ input: Optional[pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']]] = None,
534
390
  name: Optional[pulumi.Input[str]] = None,
535
- target: Optional[pulumi.Input[pulumi.InputType['SloTargetArgs']]] = None,
391
+ target: Optional[pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']]] = None,
536
392
  type: Optional[pulumi.Input[str]] = None,
537
393
  __props__=None):
538
394
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -565,9 +421,9 @@ class Slo(pulumi.CustomResource):
565
421
  id: pulumi.Input[str],
566
422
  opts: Optional[pulumi.ResourceOptions] = None,
567
423
  description: Optional[pulumi.Input[str]] = None,
568
- input: Optional[pulumi.Input[pulumi.InputType['SloInputArgs']]] = None,
424
+ input: Optional[pulumi.Input[Union['SloInputArgs', 'SloInputArgsDict']]] = None,
569
425
  name: Optional[pulumi.Input[str]] = None,
570
- target: Optional[pulumi.Input[pulumi.InputType['SloTargetArgs']]] = None,
426
+ target: Optional[pulumi.Input[Union['SloTargetArgs', 'SloTargetArgsDict']]] = None,
571
427
  type: Optional[pulumi.Input[str]] = None) -> 'Slo':
572
428
  """
573
429
  Get an existing Slo resource's state with the given name, id, and optional extra
@@ -576,12 +432,11 @@ class Slo(pulumi.CustomResource):
576
432
  :param str resource_name: The unique name of the resulting resource.
577
433
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
578
434
  :param pulumi.ResourceOptions opts: Options for the resource.
579
- :param pulumi.Input[str] description: Description of the SLO
580
- :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
581
- count
582
- :param pulumi.Input[str] name: Name of the SLO
583
- :param pulumi.Input[pulumi.InputType['SloTargetArgs']] target: Define target value of the service level indicator in the appropriate time period.
584
- :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.
585
440
  """
586
441
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
587
442
 
@@ -598,7 +453,7 @@ class Slo(pulumi.CustomResource):
598
453
  @pulumi.getter
599
454
  def description(self) -> pulumi.Output[Optional[str]]:
600
455
  """
601
- Description of the SLO
456
+ Description of the SLO.
602
457
  """
603
458
  return pulumi.get(self, "description")
604
459
 
@@ -606,8 +461,7 @@ class Slo(pulumi.CustomResource):
606
461
  @pulumi.getter
607
462
  def input(self) -> pulumi.Output['outputs.SloInput']:
608
463
  """
609
- SignalFlow program and arguments text strings that define the streams used as successful event count and total event
610
- count
464
+ Properties to configure an SLO object inputs
611
465
  """
612
466
  return pulumi.get(self, "input")
613
467
 
@@ -615,7 +469,7 @@ class Slo(pulumi.CustomResource):
615
469
  @pulumi.getter
616
470
  def name(self) -> pulumi.Output[str]:
617
471
  """
618
- Name of the SLO
472
+ Name of the SLO. Each SLO name must be unique within an organization.
619
473
  """
620
474
  return pulumi.get(self, "name")
621
475
 
@@ -631,7 +485,7 @@ class Slo(pulumi.CustomResource):
631
485
  @pulumi.getter
632
486
  def type(self) -> pulumi.Output[str]:
633
487
  """
634
- Type of the SLO. Currently only RequestBased SLO is supported
488
+ Type of the SLO. Currently just: `"RequestBased"` is supported.
635
489
  """
636
490
  return pulumi.get(self, "type")
637
491