pulumi-signalfx 7.2.0a1710160099__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 +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.0a1736835428.dist-info}/METADATA +7 -6
  51. pulumi_signalfx-7.6.0a1736835428.dist-info/RECORD +65 -0
  52. {pulumi_signalfx-7.2.0a1710160099.dist-info → pulumi_signalfx-7.6.0a1736835428.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.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,9 +293,11 @@ 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.
@@ -235,33 +306,57 @@ class MetricRuleset(pulumi.CustomResource):
235
306
 
236
307
  ## Example
237
308
 
238
- ## Arguments
239
-
240
- The following arguments are supported in the resource block:
241
-
242
- * `metric_name` - (Required) Name of the input metric
243
- * `aggregation_rules` - (Optional) List of aggregation rules for the metric
244
- * `enabled` - (Required) When false, this rule will not generate aggregated MTSs
245
- * `name` - (Optional) name of the aggregation rule
246
- * `matcher` - (Required) Matcher object
247
- * `type` - (Required) Type of matcher. Must always be "dimension"
248
- * `filters` - (Optional) List of filters to filter the set of input MTSs
249
- * `property` - (Required) - Name of the dimension
250
- * `property_value` - (Required) - Value of the dimension
251
- * `not` - When true, this filter will match all values not matching the property_values
252
- * `aggregator` - (Required) - Aggregator object
253
- * `type` - (Required) Type of aggregator. Must always be "rollup"
254
- * `dimensions` - (Required) List of dimensions to either be kept or dropped in the new aggregated MTSs
255
- * `drop_dimensions` - (Required) when true, the specified dimensions will be dropped from the aggregated MTSs
256
- * `output_name` - (Required) name of the new aggregated metric
257
- * `routing_rule` - (Required) Routing Rule object
258
- * `destination` - (Required) - end destination of the input metric. Must be `RealTime` or `Drop`
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
+ ```
259
352
 
260
353
  :param str resource_name: The name of the resource.
261
354
  :param pulumi.ResourceOptions opts: Options for the resource.
262
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MetricRulesetAggregationRuleArgs']]]] aggregation_rules: Aggregation rules in the ruleset
263
- :param pulumi.Input[str] metric_name: Name of the metric
264
- :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
265
360
  """
266
361
  ...
267
362
  @overload
@@ -276,27 +371,49 @@ class MetricRuleset(pulumi.CustomResource):
276
371
 
277
372
  ## Example
278
373
 
279
- ## Arguments
280
-
281
- The following arguments are supported in the resource block:
282
-
283
- * `metric_name` - (Required) Name of the input metric
284
- * `aggregation_rules` - (Optional) List of aggregation rules for the metric
285
- * `enabled` - (Required) When false, this rule will not generate aggregated MTSs
286
- * `name` - (Optional) name of the aggregation rule
287
- * `matcher` - (Required) Matcher object
288
- * `type` - (Required) Type of matcher. Must always be "dimension"
289
- * `filters` - (Optional) List of filters to filter the set of input MTSs
290
- * `property` - (Required) - Name of the dimension
291
- * `property_value` - (Required) - Value of the dimension
292
- * `not` - When true, this filter will match all values not matching the property_values
293
- * `aggregator` - (Required) - Aggregator object
294
- * `type` - (Required) Type of aggregator. Must always be "rollup"
295
- * `dimensions` - (Required) List of dimensions to either be kept or dropped in the new aggregated MTSs
296
- * `drop_dimensions` - (Required) when true, the specified dimensions will be dropped from the aggregated MTSs
297
- * `output_name` - (Required) name of the new aggregated metric
298
- * `routing_rule` - (Required) Routing Rule object
299
- * `destination` - (Required) - end destination of the input metric. Must be `RealTime` or `Drop`
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
+ ```
300
417
 
301
418
  :param str resource_name: The name of the resource.
302
419
  :param MetricRulesetArgs args: The arguments to use to populate this resource's properties.
@@ -313,9 +430,11 @@ class MetricRuleset(pulumi.CustomResource):
313
430
  def _internal_init(__self__,
314
431
  resource_name: str,
315
432
  opts: Optional[pulumi.ResourceOptions] = None,
316
- 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,
317
436
  metric_name: Optional[pulumi.Input[str]] = None,
318
- 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,
319
438
  __props__=None):
320
439
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
321
440
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -326,6 +445,8 @@ class MetricRuleset(pulumi.CustomResource):
326
445
  __props__ = MetricRulesetArgs.__new__(MetricRulesetArgs)
327
446
 
328
447
  __props__.__dict__["aggregation_rules"] = aggregation_rules
448
+ __props__.__dict__["description"] = description
449
+ __props__.__dict__["exception_rules"] = exception_rules
329
450
  if metric_name is None and not opts.urn:
330
451
  raise TypeError("Missing required property 'metric_name'")
331
452
  __props__.__dict__["metric_name"] = metric_name
@@ -348,14 +469,16 @@ class MetricRuleset(pulumi.CustomResource):
348
469
  def get(resource_name: str,
349
470
  id: pulumi.Input[str],
350
471
  opts: Optional[pulumi.ResourceOptions] = None,
351
- 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,
352
473
  created: Optional[pulumi.Input[str]] = None,
353
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,
354
477
  last_updated: Optional[pulumi.Input[str]] = None,
355
478
  last_updated_by: Optional[pulumi.Input[str]] = None,
356
479
  last_updated_by_name: Optional[pulumi.Input[str]] = None,
357
480
  metric_name: Optional[pulumi.Input[str]] = None,
358
- 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,
359
482
  version: Optional[pulumi.Input[str]] = None) -> 'MetricRuleset':
360
483
  """
361
484
  Get an existing MetricRuleset resource's state with the given name, id, and optional extra
@@ -364,14 +487,16 @@ class MetricRuleset(pulumi.CustomResource):
364
487
  :param str resource_name: The unique name of the resulting resource.
365
488
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
366
489
  :param pulumi.ResourceOptions opts: Options for the resource.
367
- :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
368
491
  :param pulumi.Input[str] created: Timestamp of when the metric ruleset was created
369
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
370
495
  :param pulumi.Input[str] last_updated: Timestamp of when the metric ruleset was last updated
371
496
  :param pulumi.Input[str] last_updated_by: ID of user who last updated the metric ruleset
372
497
  :param pulumi.Input[str] last_updated_by_name: Name of user who last updated this metric ruleset
373
- :param pulumi.Input[str] metric_name: Name of the metric
374
- :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
375
500
  :param pulumi.Input[str] version: Version of the ruleset
376
501
  """
377
502
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -381,6 +506,8 @@ class MetricRuleset(pulumi.CustomResource):
381
506
  __props__.__dict__["aggregation_rules"] = aggregation_rules
382
507
  __props__.__dict__["created"] = created
383
508
  __props__.__dict__["creator"] = creator
509
+ __props__.__dict__["description"] = description
510
+ __props__.__dict__["exception_rules"] = exception_rules
384
511
  __props__.__dict__["last_updated"] = last_updated
385
512
  __props__.__dict__["last_updated_by"] = last_updated_by
386
513
  __props__.__dict__["last_updated_by_name"] = last_updated_by_name
@@ -393,7 +520,7 @@ class MetricRuleset(pulumi.CustomResource):
393
520
  @pulumi.getter(name="aggregationRules")
394
521
  def aggregation_rules(self) -> pulumi.Output[Optional[Sequence['outputs.MetricRulesetAggregationRule']]]:
395
522
  """
396
- Aggregation rules in the ruleset
523
+ List of aggregation rules for the metric
397
524
  """
398
525
  return pulumi.get(self, "aggregation_rules")
399
526
 
@@ -413,6 +540,22 @@ class MetricRuleset(pulumi.CustomResource):
413
540
  """
414
541
  return pulumi.get(self, "creator")
415
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
+
416
559
  @property
417
560
  @pulumi.getter(name="lastUpdated")
418
561
  def last_updated(self) -> pulumi.Output[str]:
@@ -441,7 +584,7 @@ class MetricRuleset(pulumi.CustomResource):
441
584
  @pulumi.getter(name="metricName")
442
585
  def metric_name(self) -> pulumi.Output[str]:
443
586
  """
444
- Name of the metric
587
+ Name of the input metric
445
588
  """
446
589
  return pulumi.get(self, "metric_name")
447
590
 
@@ -449,7 +592,7 @@ class MetricRuleset(pulumi.CustomResource):
449
592
  @pulumi.getter(name="routingRules")
450
593
  def routing_rules(self) -> pulumi.Output[Sequence['outputs.MetricRulesetRoutingRule']]:
451
594
  """
452
- Location to send the input metric
595
+ Routing Rule object
453
596
  """
454
597
  return pulumi.get(self, "routing_rules")
455
598