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 *
@@ -18,23 +23,31 @@ class MetricRulesetArgs:
18
23
  def __init__(__self__, *,
19
24
  metric_name: pulumi.Input[str],
20
25
  routing_rules: pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]],
21
- aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]] = None):
26
+ aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ exception_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]] = None):
22
29
  """
23
30
  The set of arguments for constructing a MetricRuleset resource.
24
- :param pulumi.Input[str] metric_name: Name of the metric
25
- :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]] routing_rules: Location to send the input metric
26
- :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]] aggregation_rules: Aggregation rules in the ruleset
31
+ :param pulumi.Input[str] metric_name: Name of the input metric
32
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]] routing_rules: Routing Rule object
33
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]] aggregation_rules: List of aggregation rules for the metric
34
+ :param pulumi.Input[str] description: Information about the metric ruleset
35
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]] exception_rules: List of exception rules for the metric
27
36
  """
28
37
  pulumi.set(__self__, "metric_name", metric_name)
29
38
  pulumi.set(__self__, "routing_rules", routing_rules)
30
39
  if aggregation_rules is not None:
31
40
  pulumi.set(__self__, "aggregation_rules", aggregation_rules)
41
+ if description is not None:
42
+ pulumi.set(__self__, "description", description)
43
+ if exception_rules is not None:
44
+ pulumi.set(__self__, "exception_rules", exception_rules)
32
45
 
33
46
  @property
34
47
  @pulumi.getter(name="metricName")
35
48
  def metric_name(self) -> pulumi.Input[str]:
36
49
  """
37
- Name of the metric
50
+ Name of the input metric
38
51
  """
39
52
  return pulumi.get(self, "metric_name")
40
53
 
@@ -46,7 +59,7 @@ class MetricRulesetArgs:
46
59
  @pulumi.getter(name="routingRules")
47
60
  def routing_rules(self) -> pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]]:
48
61
  """
49
- Location to send the input metric
62
+ Routing Rule object
50
63
  """
51
64
  return pulumi.get(self, "routing_rules")
52
65
 
@@ -58,7 +71,7 @@ class MetricRulesetArgs:
58
71
  @pulumi.getter(name="aggregationRules")
59
72
  def aggregation_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]]:
60
73
  """
61
- Aggregation rules in the ruleset
74
+ List of aggregation rules for the metric
62
75
  """
63
76
  return pulumi.get(self, "aggregation_rules")
64
77
 
@@ -66,6 +79,30 @@ class MetricRulesetArgs:
66
79
  def aggregation_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]]):
67
80
  pulumi.set(self, "aggregation_rules", value)
68
81
 
82
+ @property
83
+ @pulumi.getter
84
+ def description(self) -> Optional[pulumi.Input[str]]:
85
+ """
86
+ Information about the metric ruleset
87
+ """
88
+ return pulumi.get(self, "description")
89
+
90
+ @description.setter
91
+ def description(self, value: Optional[pulumi.Input[str]]):
92
+ pulumi.set(self, "description", value)
93
+
94
+ @property
95
+ @pulumi.getter(name="exceptionRules")
96
+ def exception_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]]:
97
+ """
98
+ List of exception rules for the metric
99
+ """
100
+ return pulumi.get(self, "exception_rules")
101
+
102
+ @exception_rules.setter
103
+ def exception_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]]):
104
+ pulumi.set(self, "exception_rules", value)
105
+
69
106
 
70
107
  @pulumi.input_type
71
108
  class _MetricRulesetState:
@@ -73,6 +110,8 @@ class _MetricRulesetState:
73
110
  aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]] = None,
74
111
  created: Optional[pulumi.Input[str]] = None,
75
112
  creator: Optional[pulumi.Input[str]] = None,
113
+ description: Optional[pulumi.Input[str]] = None,
114
+ exception_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]] = None,
76
115
  last_updated: Optional[pulumi.Input[str]] = None,
77
116
  last_updated_by: Optional[pulumi.Input[str]] = None,
78
117
  last_updated_by_name: Optional[pulumi.Input[str]] = None,
@@ -81,14 +120,16 @@ class _MetricRulesetState:
81
120
  version: Optional[pulumi.Input[str]] = None):
82
121
  """
83
122
  Input properties used for looking up and filtering MetricRuleset resources.
84
- :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]] aggregation_rules: Aggregation rules in the ruleset
123
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]] aggregation_rules: List of aggregation rules for the metric
85
124
  :param pulumi.Input[str] created: Timestamp of when the metric ruleset was created
86
125
  :param pulumi.Input[str] creator: ID of the creator of the metric ruleset
126
+ :param pulumi.Input[str] description: Information about the metric ruleset
127
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]] exception_rules: List of exception rules for the metric
87
128
  :param pulumi.Input[str] last_updated: Timestamp of when the metric ruleset was last updated
88
129
  :param pulumi.Input[str] last_updated_by: ID of user who last updated the metric ruleset
89
130
  :param pulumi.Input[str] last_updated_by_name: Name of user who last updated this metric ruleset
90
- :param pulumi.Input[str] metric_name: Name of the metric
91
- :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]] routing_rules: Location to send the input metric
131
+ :param pulumi.Input[str] metric_name: Name of the input metric
132
+ :param pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]] routing_rules: Routing Rule object
92
133
  :param pulumi.Input[str] version: Version of the ruleset
93
134
  """
94
135
  if aggregation_rules is not None:
@@ -97,6 +138,10 @@ class _MetricRulesetState:
97
138
  pulumi.set(__self__, "created", created)
98
139
  if creator is not None:
99
140
  pulumi.set(__self__, "creator", creator)
141
+ if description is not None:
142
+ pulumi.set(__self__, "description", description)
143
+ if exception_rules is not None:
144
+ pulumi.set(__self__, "exception_rules", exception_rules)
100
145
  if last_updated is not None:
101
146
  pulumi.set(__self__, "last_updated", last_updated)
102
147
  if last_updated_by is not None:
@@ -114,7 +159,7 @@ class _MetricRulesetState:
114
159
  @pulumi.getter(name="aggregationRules")
115
160
  def aggregation_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetAggregationRuleArgs']]]]:
116
161
  """
117
- Aggregation rules in the ruleset
162
+ List of aggregation rules for the metric
118
163
  """
119
164
  return pulumi.get(self, "aggregation_rules")
120
165
 
@@ -146,6 +191,30 @@ class _MetricRulesetState:
146
191
  def creator(self, value: Optional[pulumi.Input[str]]):
147
192
  pulumi.set(self, "creator", value)
148
193
 
194
+ @property
195
+ @pulumi.getter
196
+ def description(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ Information about the metric ruleset
199
+ """
200
+ return pulumi.get(self, "description")
201
+
202
+ @description.setter
203
+ def description(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "description", value)
205
+
206
+ @property
207
+ @pulumi.getter(name="exceptionRules")
208
+ def exception_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]]:
209
+ """
210
+ List of exception rules for the metric
211
+ """
212
+ return pulumi.get(self, "exception_rules")
213
+
214
+ @exception_rules.setter
215
+ def exception_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetExceptionRuleArgs']]]]):
216
+ pulumi.set(self, "exception_rules", value)
217
+
149
218
  @property
150
219
  @pulumi.getter(name="lastUpdated")
151
220
  def last_updated(self) -> Optional[pulumi.Input[str]]:
@@ -186,7 +255,7 @@ class _MetricRulesetState:
186
255
  @pulumi.getter(name="metricName")
187
256
  def metric_name(self) -> Optional[pulumi.Input[str]]:
188
257
  """
189
- Name of the metric
258
+ Name of the input metric
190
259
  """
191
260
  return pulumi.get(self, "metric_name")
192
261
 
@@ -198,7 +267,7 @@ class _MetricRulesetState:
198
267
  @pulumi.getter(name="routingRules")
199
268
  def routing_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricRulesetRoutingRuleArgs']]]]:
200
269
  """
201
- Location to send the input metric
270
+ Routing Rule object
202
271
  """
203
272
  return pulumi.get(self, "routing_rules")
204
273
 
@@ -224,42 +293,70 @@ class MetricRuleset(pulumi.CustomResource):
224
293
  def __init__(__self__,
225
294
  resource_name: str,
226
295
  opts: Optional[pulumi.ResourceOptions] = None,
227
- aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]]] = None,
296
+ aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetAggregationRuleArgs', 'MetricRulesetAggregationRuleArgsDict']]]]] = None,
297
+ description: Optional[pulumi.Input[str]] = None,
298
+ exception_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetExceptionRuleArgs', 'MetricRulesetExceptionRuleArgsDict']]]]] = None,
228
299
  metric_name: Optional[pulumi.Input[str]] = None,
229
- routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetRoutingRuleArgs']]]]] = None,
300
+ routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetRoutingRuleArgs', 'MetricRulesetRoutingRuleArgsDict']]]]] = None,
230
301
  __props__=None):
231
302
  """
232
303
  Provides an Observability Cloud resource for managing metric rulesets.
233
304
 
234
305
  > **NOTE** When managing metric rulesets to drop data use a session token for an administrator to authenticate the Splunk Observability Cloud provider. See [Operations that require a session token for an administrator](https://dev.splunk.com/observability/docs/administration/authtokens#Operations-that-require-a-session-token-for-an-administrator). Otherwise you'll receive a 4xx error.
235
306
 
236
- ## Arguments
237
-
238
- The following arguments are supported in the resource block:
239
-
240
- * `metric_name` - (Required) Name of the input metric
241
- * `aggregation_rules` - (Optional) List of aggregation rules for the metric
242
- * `enabled` - (Required) When false, this rule will not generate aggregated MTSs
243
- * `name` - (Optional) name of the aggregation rule
244
- * `matcher` - (Required) Matcher object
245
- * `type` - (Required) Type of matcher. Must always be "dimension"
246
- * `filters` - (Optional) List of filters to filter the set of input MTSs
247
- * `property` - (Required) - Name of the dimension
248
- * `property_value` - (Required) - Value of the dimension
249
- * `not` - When true, this filter will match all values not matching the property_values
250
- * `aggregator` - (Required) - Aggregator object
251
- * `type` - (Required) Type of aggregator. Must always be "rollup"
252
- * `dimensions` - (Required) List of dimensions to either be kept or dropped in the new aggregated MTSs
253
- * `drop_dimensions` - (Required) when true, the specified dimensions will be dropped from the aggregated MTSs
254
- * `output_name` - (Required) name of the new aggregated metric
255
- * `routing_rule` - (Required) Routing Rule object
256
- * `destination` - (Required) - end destination of the input metric. Must be `RealTime` or `Drop`
307
+ ## Example
308
+
309
+ ```python
310
+ import pulumi
311
+ import pulumi_signalfx as signalfx
312
+
313
+ cpu_utilization_metric_ruleset = signalfx.MetricRuleset("cpu_utilization_metric_ruleset",
314
+ metric_name="cpu.utilization",
315
+ description="Routing ruleset for cpu.utilization",
316
+ aggregation_rules=[{
317
+ "name": "cpu.utilization by service rule",
318
+ "description": "Aggregates cpu.utilization data by service",
319
+ "enabled": True,
320
+ "matchers": [{
321
+ "type": "dimension",
322
+ "filters": [{
323
+ "property": "realm",
324
+ "property_values": ["us-east-1"],
325
+ "not_": False,
326
+ }],
327
+ }],
328
+ "aggregators": [{
329
+ "type": "rollup",
330
+ "dimensions": ["service"],
331
+ "drop_dimensions": False,
332
+ "output_name": "cpu.utilization.by.service.agg",
333
+ }],
334
+ }],
335
+ exception_rules=[{
336
+ "name": "Exception rule us-east-2",
337
+ "description": "Routes us-east-2 data to real-time",
338
+ "enabled": True,
339
+ "matchers": [{
340
+ "type": "dimension",
341
+ "filters": [{
342
+ "property": "realm",
343
+ "property_values": ["us-east-2"],
344
+ "not_": False,
345
+ }],
346
+ }],
347
+ }],
348
+ routing_rules=[{
349
+ "destination": "Archived",
350
+ }])
351
+ ```
257
352
 
258
353
  :param str resource_name: The name of the resource.
259
354
  :param pulumi.ResourceOptions opts: Options for the resource.
260
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]] aggregation_rules: Aggregation rules in the ruleset
261
- :param pulumi.Input[str] metric_name: Name of the metric
262
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetRoutingRuleArgs']]]] routing_rules: Location to send the input metric
355
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetAggregationRuleArgs', 'MetricRulesetAggregationRuleArgsDict']]]] aggregation_rules: List of aggregation rules for the metric
356
+ :param pulumi.Input[str] description: Information about the metric ruleset
357
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetExceptionRuleArgs', 'MetricRulesetExceptionRuleArgsDict']]]] exception_rules: List of exception rules for the metric
358
+ :param pulumi.Input[str] metric_name: Name of the input metric
359
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetRoutingRuleArgs', 'MetricRulesetRoutingRuleArgsDict']]]] routing_rules: Routing Rule object
263
360
  """
264
361
  ...
265
362
  @overload
@@ -272,27 +369,51 @@ class MetricRuleset(pulumi.CustomResource):
272
369
 
273
370
  > **NOTE** When managing metric rulesets to drop data use a session token for an administrator to authenticate the Splunk Observability Cloud provider. See [Operations that require a session token for an administrator](https://dev.splunk.com/observability/docs/administration/authtokens#Operations-that-require-a-session-token-for-an-administrator). Otherwise you'll receive a 4xx error.
274
371
 
275
- ## Arguments
276
-
277
- The following arguments are supported in the resource block:
278
-
279
- * `metric_name` - (Required) Name of the input metric
280
- * `aggregation_rules` - (Optional) List of aggregation rules for the metric
281
- * `enabled` - (Required) When false, this rule will not generate aggregated MTSs
282
- * `name` - (Optional) name of the aggregation rule
283
- * `matcher` - (Required) Matcher object
284
- * `type` - (Required) Type of matcher. Must always be "dimension"
285
- * `filters` - (Optional) List of filters to filter the set of input MTSs
286
- * `property` - (Required) - Name of the dimension
287
- * `property_value` - (Required) - Value of the dimension
288
- * `not` - When true, this filter will match all values not matching the property_values
289
- * `aggregator` - (Required) - Aggregator object
290
- * `type` - (Required) Type of aggregator. Must always be "rollup"
291
- * `dimensions` - (Required) List of dimensions to either be kept or dropped in the new aggregated MTSs
292
- * `drop_dimensions` - (Required) when true, the specified dimensions will be dropped from the aggregated MTSs
293
- * `output_name` - (Required) name of the new aggregated metric
294
- * `routing_rule` - (Required) Routing Rule object
295
- * `destination` - (Required) - end destination of the input metric. Must be `RealTime` or `Drop`
372
+ ## Example
373
+
374
+ ```python
375
+ import pulumi
376
+ import pulumi_signalfx as signalfx
377
+
378
+ cpu_utilization_metric_ruleset = signalfx.MetricRuleset("cpu_utilization_metric_ruleset",
379
+ metric_name="cpu.utilization",
380
+ description="Routing ruleset for cpu.utilization",
381
+ aggregation_rules=[{
382
+ "name": "cpu.utilization by service rule",
383
+ "description": "Aggregates cpu.utilization data by service",
384
+ "enabled": True,
385
+ "matchers": [{
386
+ "type": "dimension",
387
+ "filters": [{
388
+ "property": "realm",
389
+ "property_values": ["us-east-1"],
390
+ "not_": False,
391
+ }],
392
+ }],
393
+ "aggregators": [{
394
+ "type": "rollup",
395
+ "dimensions": ["service"],
396
+ "drop_dimensions": False,
397
+ "output_name": "cpu.utilization.by.service.agg",
398
+ }],
399
+ }],
400
+ exception_rules=[{
401
+ "name": "Exception rule us-east-2",
402
+ "description": "Routes us-east-2 data to real-time",
403
+ "enabled": True,
404
+ "matchers": [{
405
+ "type": "dimension",
406
+ "filters": [{
407
+ "property": "realm",
408
+ "property_values": ["us-east-2"],
409
+ "not_": False,
410
+ }],
411
+ }],
412
+ }],
413
+ routing_rules=[{
414
+ "destination": "Archived",
415
+ }])
416
+ ```
296
417
 
297
418
  :param str resource_name: The name of the resource.
298
419
  :param MetricRulesetArgs args: The arguments to use to populate this resource's properties.
@@ -309,9 +430,11 @@ class MetricRuleset(pulumi.CustomResource):
309
430
  def _internal_init(__self__,
310
431
  resource_name: str,
311
432
  opts: Optional[pulumi.ResourceOptions] = None,
312
- aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]]] = None,
433
+ aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetAggregationRuleArgs', 'MetricRulesetAggregationRuleArgsDict']]]]] = None,
434
+ description: Optional[pulumi.Input[str]] = None,
435
+ exception_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetExceptionRuleArgs', 'MetricRulesetExceptionRuleArgsDict']]]]] = None,
313
436
  metric_name: Optional[pulumi.Input[str]] = None,
314
- routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetRoutingRuleArgs']]]]] = None,
437
+ routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetRoutingRuleArgs', 'MetricRulesetRoutingRuleArgsDict']]]]] = None,
315
438
  __props__=None):
316
439
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
317
440
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -322,6 +445,8 @@ class MetricRuleset(pulumi.CustomResource):
322
445
  __props__ = MetricRulesetArgs.__new__(MetricRulesetArgs)
323
446
 
324
447
  __props__.__dict__["aggregation_rules"] = aggregation_rules
448
+ __props__.__dict__["description"] = description
449
+ __props__.__dict__["exception_rules"] = exception_rules
325
450
  if metric_name is None and not opts.urn:
326
451
  raise TypeError("Missing required property 'metric_name'")
327
452
  __props__.__dict__["metric_name"] = metric_name
@@ -344,14 +469,16 @@ class MetricRuleset(pulumi.CustomResource):
344
469
  def get(resource_name: str,
345
470
  id: pulumi.Input[str],
346
471
  opts: Optional[pulumi.ResourceOptions] = None,
347
- aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]]] = None,
472
+ aggregation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetAggregationRuleArgs', 'MetricRulesetAggregationRuleArgsDict']]]]] = None,
348
473
  created: Optional[pulumi.Input[str]] = None,
349
474
  creator: Optional[pulumi.Input[str]] = None,
475
+ description: Optional[pulumi.Input[str]] = None,
476
+ exception_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetExceptionRuleArgs', 'MetricRulesetExceptionRuleArgsDict']]]]] = None,
350
477
  last_updated: Optional[pulumi.Input[str]] = None,
351
478
  last_updated_by: Optional[pulumi.Input[str]] = None,
352
479
  last_updated_by_name: Optional[pulumi.Input[str]] = None,
353
480
  metric_name: Optional[pulumi.Input[str]] = None,
354
- routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetRoutingRuleArgs']]]]] = None,
481
+ routing_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetRoutingRuleArgs', 'MetricRulesetRoutingRuleArgsDict']]]]] = None,
355
482
  version: Optional[pulumi.Input[str]] = None) -> 'MetricRuleset':
356
483
  """
357
484
  Get an existing MetricRuleset resource's state with the given name, id, and optional extra
@@ -360,14 +487,16 @@ class MetricRuleset(pulumi.CustomResource):
360
487
  :param str resource_name: The unique name of the resulting resource.
361
488
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
362
489
  :param pulumi.ResourceOptions opts: Options for the resource.
363
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]] aggregation_rules: Aggregation rules in the ruleset
490
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetAggregationRuleArgs', 'MetricRulesetAggregationRuleArgsDict']]]] aggregation_rules: List of aggregation rules for the metric
364
491
  :param pulumi.Input[str] created: Timestamp of when the metric ruleset was created
365
492
  :param pulumi.Input[str] creator: ID of the creator of the metric ruleset
493
+ :param pulumi.Input[str] description: Information about the metric ruleset
494
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetExceptionRuleArgs', 'MetricRulesetExceptionRuleArgsDict']]]] exception_rules: List of exception rules for the metric
366
495
  :param pulumi.Input[str] last_updated: Timestamp of when the metric ruleset was last updated
367
496
  :param pulumi.Input[str] last_updated_by: ID of user who last updated the metric ruleset
368
497
  :param pulumi.Input[str] last_updated_by_name: Name of user who last updated this metric ruleset
369
- :param pulumi.Input[str] metric_name: Name of the metric
370
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetRoutingRuleArgs']]]] routing_rules: Location to send the input metric
498
+ :param pulumi.Input[str] metric_name: Name of the input metric
499
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MetricRulesetRoutingRuleArgs', 'MetricRulesetRoutingRuleArgsDict']]]] routing_rules: Routing Rule object
371
500
  :param pulumi.Input[str] version: Version of the ruleset
372
501
  """
373
502
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -377,6 +506,8 @@ class MetricRuleset(pulumi.CustomResource):
377
506
  __props__.__dict__["aggregation_rules"] = aggregation_rules
378
507
  __props__.__dict__["created"] = created
379
508
  __props__.__dict__["creator"] = creator
509
+ __props__.__dict__["description"] = description
510
+ __props__.__dict__["exception_rules"] = exception_rules
380
511
  __props__.__dict__["last_updated"] = last_updated
381
512
  __props__.__dict__["last_updated_by"] = last_updated_by
382
513
  __props__.__dict__["last_updated_by_name"] = last_updated_by_name
@@ -389,7 +520,7 @@ class MetricRuleset(pulumi.CustomResource):
389
520
  @pulumi.getter(name="aggregationRules")
390
521
  def aggregation_rules(self) -> pulumi.Output[Optional[Sequence['outputs.MetricRulesetAggregationRule']]]:
391
522
  """
392
- Aggregation rules in the ruleset
523
+ List of aggregation rules for the metric
393
524
  """
394
525
  return pulumi.get(self, "aggregation_rules")
395
526
 
@@ -409,6 +540,22 @@ class MetricRuleset(pulumi.CustomResource):
409
540
  """
410
541
  return pulumi.get(self, "creator")
411
542
 
543
+ @property
544
+ @pulumi.getter
545
+ def description(self) -> pulumi.Output[Optional[str]]:
546
+ """
547
+ Information about the metric ruleset
548
+ """
549
+ return pulumi.get(self, "description")
550
+
551
+ @property
552
+ @pulumi.getter(name="exceptionRules")
553
+ def exception_rules(self) -> pulumi.Output[Optional[Sequence['outputs.MetricRulesetExceptionRule']]]:
554
+ """
555
+ List of exception rules for the metric
556
+ """
557
+ return pulumi.get(self, "exception_rules")
558
+
412
559
  @property
413
560
  @pulumi.getter(name="lastUpdated")
414
561
  def last_updated(self) -> pulumi.Output[str]:
@@ -437,7 +584,7 @@ class MetricRuleset(pulumi.CustomResource):
437
584
  @pulumi.getter(name="metricName")
438
585
  def metric_name(self) -> pulumi.Output[str]:
439
586
  """
440
- Name of the metric
587
+ Name of the input metric
441
588
  """
442
589
  return pulumi.get(self, "metric_name")
443
590
 
@@ -445,7 +592,7 @@ class MetricRuleset(pulumi.CustomResource):
445
592
  @pulumi.getter(name="routingRules")
446
593
  def routing_rules(self) -> pulumi.Output[Sequence['outputs.MetricRulesetRoutingRule']]:
447
594
  """
448
- Location to send the input metric
595
+ Routing Rule object
449
596
  """
450
597
  return pulumi.get(self, "routing_rules")
451
598