pulumi-newrelic 5.16.0a1698964311__py3-none-any.whl → 5.58.0a1763707205__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.

Potentially problematic release.


This version of pulumi-newrelic might be problematic. Click here for more details.

Files changed (92) hide show
  1. pulumi_newrelic/__init__.py +58 -1
  2. pulumi_newrelic/_inputs.py +10772 -2775
  3. pulumi_newrelic/_utilities.py +92 -11
  4. pulumi_newrelic/account_management.py +56 -42
  5. pulumi_newrelic/alert_channel.py +177 -151
  6. pulumi_newrelic/alert_condition.py +313 -301
  7. pulumi_newrelic/alert_muting_rule.py +195 -138
  8. pulumi_newrelic/alert_policy.py +157 -109
  9. pulumi_newrelic/alert_policy_channel.py +95 -81
  10. pulumi_newrelic/api_access_key.py +191 -209
  11. pulumi_newrelic/browser_application.py +161 -153
  12. pulumi_newrelic/cloud/__init__.py +3 -1
  13. pulumi_newrelic/cloud/_inputs.py +4267 -2710
  14. pulumi_newrelic/cloud/aws_govcloud_integrations.py +238 -200
  15. pulumi_newrelic/cloud/aws_govcloud_link_account.py +159 -212
  16. pulumi_newrelic/cloud/aws_integrations.py +518 -1490
  17. pulumi_newrelic/cloud/aws_link_account.py +88 -76
  18. pulumi_newrelic/cloud/azure_integrations.py +681 -587
  19. pulumi_newrelic/cloud/azure_link_account.py +129 -117
  20. pulumi_newrelic/cloud/gcp_integrations.py +436 -408
  21. pulumi_newrelic/cloud/gcp_link_account.py +71 -59
  22. pulumi_newrelic/cloud/oci_link_account.py +926 -0
  23. pulumi_newrelic/cloud/outputs.py +1678 -2317
  24. pulumi_newrelic/config/__init__.py +2 -1
  25. pulumi_newrelic/config/__init__.pyi +45 -0
  26. pulumi_newrelic/config/vars.py +22 -17
  27. pulumi_newrelic/data_partition_rule.py +129 -117
  28. pulumi_newrelic/entity_tags.py +153 -31
  29. pulumi_newrelic/events_to_metrics_rule.py +114 -102
  30. pulumi_newrelic/get_account.py +41 -29
  31. pulumi_newrelic/get_alert_channel.py +73 -28
  32. pulumi_newrelic/get_alert_policy.py +83 -34
  33. pulumi_newrelic/get_application.py +51 -39
  34. pulumi_newrelic/get_authentication_domain.py +111 -0
  35. pulumi_newrelic/get_cloud_account.py +43 -31
  36. pulumi_newrelic/get_entity.py +126 -121
  37. pulumi_newrelic/get_group.py +190 -0
  38. pulumi_newrelic/get_key_transaction.py +117 -38
  39. pulumi_newrelic/get_notification_destination.py +86 -36
  40. pulumi_newrelic/get_obfuscation_expression.py +47 -35
  41. pulumi_newrelic/get_service_level_alert_helper.py +237 -137
  42. pulumi_newrelic/get_test_grok_pattern.py +47 -32
  43. pulumi_newrelic/get_user.py +165 -0
  44. pulumi_newrelic/group.py +286 -0
  45. pulumi_newrelic/infra_alert_condition.py +400 -382
  46. pulumi_newrelic/insights/__init__.py +2 -1
  47. pulumi_newrelic/insights/_inputs.py +94 -23
  48. pulumi_newrelic/insights/event.py +56 -48
  49. pulumi_newrelic/insights/outputs.py +51 -18
  50. pulumi_newrelic/key_transaction.py +465 -0
  51. pulumi_newrelic/log_parsing_rule.py +169 -153
  52. pulumi_newrelic/monitor_downtime.py +914 -0
  53. pulumi_newrelic/notification_channel.py +560 -418
  54. pulumi_newrelic/notification_destination.py +379 -124
  55. pulumi_newrelic/nrql_alert_condition.py +945 -513
  56. pulumi_newrelic/nrql_drop_rule.py +121 -129
  57. pulumi_newrelic/obfuscation_expression.py +88 -76
  58. pulumi_newrelic/obfuscation_rule.py +123 -109
  59. pulumi_newrelic/one_dashboard.py +118 -108
  60. pulumi_newrelic/one_dashboard_json.py +77 -67
  61. pulumi_newrelic/one_dashboard_raw.py +214 -202
  62. pulumi_newrelic/outputs.py +5491 -2141
  63. pulumi_newrelic/pipeline_cloud_rule.py +335 -0
  64. pulumi_newrelic/plugins/__init__.py +2 -1
  65. pulumi_newrelic/plugins/_inputs.py +520 -90
  66. pulumi_newrelic/plugins/application_settings.py +463 -167
  67. pulumi_newrelic/plugins/outputs.py +337 -75
  68. pulumi_newrelic/plugins/workload.py +387 -151
  69. pulumi_newrelic/provider.py +156 -142
  70. pulumi_newrelic/pulumi-plugin.json +2 -1
  71. pulumi_newrelic/service_level.py +277 -255
  72. pulumi_newrelic/synthetics/__init__.py +2 -1
  73. pulumi_newrelic/synthetics/_inputs.py +275 -106
  74. pulumi_newrelic/synthetics/alert_condition.py +174 -160
  75. pulumi_newrelic/synthetics/broken_links_monitor.py +367 -207
  76. pulumi_newrelic/synthetics/cert_check_monitor.py +380 -218
  77. pulumi_newrelic/synthetics/get_private_location.py +51 -39
  78. pulumi_newrelic/synthetics/get_secure_credential.py +39 -27
  79. pulumi_newrelic/synthetics/monitor.py +668 -462
  80. pulumi_newrelic/synthetics/multi_location_alert_condition.py +219 -201
  81. pulumi_newrelic/synthetics/outputs.py +102 -85
  82. pulumi_newrelic/synthetics/private_location.py +120 -110
  83. pulumi_newrelic/synthetics/script_monitor.py +623 -375
  84. pulumi_newrelic/synthetics/secure_credential.py +99 -93
  85. pulumi_newrelic/synthetics/step_monitor.py +545 -201
  86. pulumi_newrelic/user.py +366 -0
  87. pulumi_newrelic/workflow.py +348 -312
  88. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/METADATA +8 -7
  89. pulumi_newrelic-5.58.0a1763707205.dist-info/RECORD +92 -0
  90. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/WHEEL +1 -1
  91. pulumi_newrelic-5.16.0a1698964311.dist-info/RECORD +0 -82
  92. {pulumi_newrelic-5.16.0a1698964311.dist-info → pulumi_newrelic-5.58.0a1763707205.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
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 *
@@ -17,19 +22,19 @@ __all__ = ['ServiceLevelArgs', 'ServiceLevel']
17
22
  class ServiceLevelArgs:
18
23
  def __init__(__self__, *,
19
24
  events: pulumi.Input['ServiceLevelEventsArgs'],
20
- guid: pulumi.Input[str],
25
+ guid: pulumi.Input[_builtins.str],
21
26
  objective: pulumi.Input['ServiceLevelObjectiveArgs'],
22
- description: Optional[pulumi.Input[str]] = None,
23
- name: Optional[pulumi.Input[str]] = None):
27
+ description: Optional[pulumi.Input[_builtins.str]] = None,
28
+ name: Optional[pulumi.Input[_builtins.str]] = None):
24
29
  """
25
30
  The set of arguments for constructing a ServiceLevel resource.
26
31
  :param pulumi.Input['ServiceLevelEventsArgs'] events: The events that define the NRDB data for the SLI/SLO calculations.
27
32
  See Events below for details.
28
- :param pulumi.Input[str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
33
+ :param pulumi.Input[_builtins.str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
29
34
  :param pulumi.Input['ServiceLevelObjectiveArgs'] objective: The objective of the SLI, only one can be defined.
30
35
  See Objective below for details.
31
- :param pulumi.Input[str] description: The description of the SLI.
32
- :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
36
+ :param pulumi.Input[_builtins.str] description: The description of the SLI.
37
+ :param pulumi.Input[_builtins.str] name: A short name for the SLI that will help anyone understand what it is about.
33
38
  """
34
39
  pulumi.set(__self__, "events", events)
35
40
  pulumi.set(__self__, "guid", guid)
@@ -39,7 +44,7 @@ class ServiceLevelArgs:
39
44
  if name is not None:
40
45
  pulumi.set(__self__, "name", name)
41
46
 
42
- @property
47
+ @_builtins.property
43
48
  @pulumi.getter
44
49
  def events(self) -> pulumi.Input['ServiceLevelEventsArgs']:
45
50
  """
@@ -52,19 +57,19 @@ class ServiceLevelArgs:
52
57
  def events(self, value: pulumi.Input['ServiceLevelEventsArgs']):
53
58
  pulumi.set(self, "events", value)
54
59
 
55
- @property
60
+ @_builtins.property
56
61
  @pulumi.getter
57
- def guid(self) -> pulumi.Input[str]:
62
+ def guid(self) -> pulumi.Input[_builtins.str]:
58
63
  """
59
64
  The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
60
65
  """
61
66
  return pulumi.get(self, "guid")
62
67
 
63
68
  @guid.setter
64
- def guid(self, value: pulumi.Input[str]):
69
+ def guid(self, value: pulumi.Input[_builtins.str]):
65
70
  pulumi.set(self, "guid", value)
66
71
 
67
- @property
72
+ @_builtins.property
68
73
  @pulumi.getter
69
74
  def objective(self) -> pulumi.Input['ServiceLevelObjectiveArgs']:
70
75
  """
@@ -77,52 +82,52 @@ class ServiceLevelArgs:
77
82
  def objective(self, value: pulumi.Input['ServiceLevelObjectiveArgs']):
78
83
  pulumi.set(self, "objective", value)
79
84
 
80
- @property
85
+ @_builtins.property
81
86
  @pulumi.getter
82
- def description(self) -> Optional[pulumi.Input[str]]:
87
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
83
88
  """
84
89
  The description of the SLI.
85
90
  """
86
91
  return pulumi.get(self, "description")
87
92
 
88
93
  @description.setter
89
- def description(self, value: Optional[pulumi.Input[str]]):
94
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
90
95
  pulumi.set(self, "description", value)
91
96
 
92
- @property
97
+ @_builtins.property
93
98
  @pulumi.getter
94
- def name(self) -> Optional[pulumi.Input[str]]:
99
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
95
100
  """
96
101
  A short name for the SLI that will help anyone understand what it is about.
97
102
  """
98
103
  return pulumi.get(self, "name")
99
104
 
100
105
  @name.setter
101
- def name(self, value: Optional[pulumi.Input[str]]):
106
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
102
107
  pulumi.set(self, "name", value)
103
108
 
104
109
 
105
110
  @pulumi.input_type
106
111
  class _ServiceLevelState:
107
112
  def __init__(__self__, *,
108
- description: Optional[pulumi.Input[str]] = None,
113
+ description: Optional[pulumi.Input[_builtins.str]] = None,
109
114
  events: Optional[pulumi.Input['ServiceLevelEventsArgs']] = None,
110
- guid: Optional[pulumi.Input[str]] = None,
111
- name: Optional[pulumi.Input[str]] = None,
115
+ guid: Optional[pulumi.Input[_builtins.str]] = None,
116
+ name: Optional[pulumi.Input[_builtins.str]] = None,
112
117
  objective: Optional[pulumi.Input['ServiceLevelObjectiveArgs']] = None,
113
- sli_guid: Optional[pulumi.Input[str]] = None,
114
- sli_id: Optional[pulumi.Input[str]] = None):
118
+ sli_guid: Optional[pulumi.Input[_builtins.str]] = None,
119
+ sli_id: Optional[pulumi.Input[_builtins.str]] = None):
115
120
  """
116
121
  Input properties used for looking up and filtering ServiceLevel resources.
117
- :param pulumi.Input[str] description: The description of the SLI.
122
+ :param pulumi.Input[_builtins.str] description: The description of the SLI.
118
123
  :param pulumi.Input['ServiceLevelEventsArgs'] events: The events that define the NRDB data for the SLI/SLO calculations.
119
124
  See Events below for details.
120
- :param pulumi.Input[str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
121
- :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
125
+ :param pulumi.Input[_builtins.str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
126
+ :param pulumi.Input[_builtins.str] name: A short name for the SLI that will help anyone understand what it is about.
122
127
  :param pulumi.Input['ServiceLevelObjectiveArgs'] objective: The objective of the SLI, only one can be defined.
123
128
  See Objective below for details.
124
- :param pulumi.Input[str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
125
- :param pulumi.Input[str] sli_id: The unique entity identifier of the Service Level Indicator.
129
+ :param pulumi.Input[_builtins.str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
130
+ :param pulumi.Input[_builtins.str] sli_id: The unique entity identifier of the Service Level Indicator.
126
131
  """
127
132
  if description is not None:
128
133
  pulumi.set(__self__, "description", description)
@@ -139,19 +144,19 @@ class _ServiceLevelState:
139
144
  if sli_id is not None:
140
145
  pulumi.set(__self__, "sli_id", sli_id)
141
146
 
142
- @property
147
+ @_builtins.property
143
148
  @pulumi.getter
144
- def description(self) -> Optional[pulumi.Input[str]]:
149
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
145
150
  """
146
151
  The description of the SLI.
147
152
  """
148
153
  return pulumi.get(self, "description")
149
154
 
150
155
  @description.setter
151
- def description(self, value: Optional[pulumi.Input[str]]):
156
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
152
157
  pulumi.set(self, "description", value)
153
158
 
154
- @property
159
+ @_builtins.property
155
160
  @pulumi.getter
156
161
  def events(self) -> Optional[pulumi.Input['ServiceLevelEventsArgs']]:
157
162
  """
@@ -164,31 +169,31 @@ class _ServiceLevelState:
164
169
  def events(self, value: Optional[pulumi.Input['ServiceLevelEventsArgs']]):
165
170
  pulumi.set(self, "events", value)
166
171
 
167
- @property
172
+ @_builtins.property
168
173
  @pulumi.getter
169
- def guid(self) -> Optional[pulumi.Input[str]]:
174
+ def guid(self) -> Optional[pulumi.Input[_builtins.str]]:
170
175
  """
171
176
  The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
172
177
  """
173
178
  return pulumi.get(self, "guid")
174
179
 
175
180
  @guid.setter
176
- def guid(self, value: Optional[pulumi.Input[str]]):
181
+ def guid(self, value: Optional[pulumi.Input[_builtins.str]]):
177
182
  pulumi.set(self, "guid", value)
178
183
 
179
- @property
184
+ @_builtins.property
180
185
  @pulumi.getter
181
- def name(self) -> Optional[pulumi.Input[str]]:
186
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
182
187
  """
183
188
  A short name for the SLI that will help anyone understand what it is about.
184
189
  """
185
190
  return pulumi.get(self, "name")
186
191
 
187
192
  @name.setter
188
- def name(self, value: Optional[pulumi.Input[str]]):
193
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
189
194
  pulumi.set(self, "name", value)
190
195
 
191
- @property
196
+ @_builtins.property
192
197
  @pulumi.getter
193
198
  def objective(self) -> Optional[pulumi.Input['ServiceLevelObjectiveArgs']]:
194
199
  """
@@ -201,41 +206,42 @@ class _ServiceLevelState:
201
206
  def objective(self, value: Optional[pulumi.Input['ServiceLevelObjectiveArgs']]):
202
207
  pulumi.set(self, "objective", value)
203
208
 
204
- @property
209
+ @_builtins.property
205
210
  @pulumi.getter(name="sliGuid")
206
- def sli_guid(self) -> Optional[pulumi.Input[str]]:
211
+ def sli_guid(self) -> Optional[pulumi.Input[_builtins.str]]:
207
212
  """
208
213
  The unique entity identifier of the Service Level Indicator in New Relic.
209
214
  """
210
215
  return pulumi.get(self, "sli_guid")
211
216
 
212
217
  @sli_guid.setter
213
- def sli_guid(self, value: Optional[pulumi.Input[str]]):
218
+ def sli_guid(self, value: Optional[pulumi.Input[_builtins.str]]):
214
219
  pulumi.set(self, "sli_guid", value)
215
220
 
216
- @property
221
+ @_builtins.property
217
222
  @pulumi.getter(name="sliId")
218
- def sli_id(self) -> Optional[pulumi.Input[str]]:
223
+ def sli_id(self) -> Optional[pulumi.Input[_builtins.str]]:
219
224
  """
220
225
  The unique entity identifier of the Service Level Indicator.
221
226
  """
222
227
  return pulumi.get(self, "sli_id")
223
228
 
224
229
  @sli_id.setter
225
- def sli_id(self, value: Optional[pulumi.Input[str]]):
230
+ def sli_id(self, value: Optional[pulumi.Input[_builtins.str]]):
226
231
  pulumi.set(self, "sli_id", value)
227
232
 
228
233
 
234
+ @pulumi.type_token("newrelic:index/serviceLevel:ServiceLevel")
229
235
  class ServiceLevel(pulumi.CustomResource):
230
236
  @overload
231
237
  def __init__(__self__,
232
238
  resource_name: str,
233
239
  opts: Optional[pulumi.ResourceOptions] = None,
234
- description: Optional[pulumi.Input[str]] = None,
235
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
236
- guid: Optional[pulumi.Input[str]] = None,
237
- name: Optional[pulumi.Input[str]] = None,
238
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
240
+ description: Optional[pulumi.Input[_builtins.str]] = None,
241
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
242
+ guid: Optional[pulumi.Input[_builtins.str]] = None,
243
+ name: Optional[pulumi.Input[_builtins.str]] = None,
244
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
239
245
  __props__=None):
240
246
  """
241
247
  Use this resource to create, update, and delete New Relic Service Level Indicators and Objectives.
@@ -255,29 +261,31 @@ class ServiceLevel(pulumi.CustomResource):
255
261
  import pulumi_newrelic as newrelic
256
262
 
257
263
  foo = newrelic.ServiceLevel("foo",
258
- description="Proportion of requests that are served faster than a threshold.",
259
- events=newrelic.ServiceLevelEventsArgs(
260
- account_id=12345678,
261
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
262
- from_="Transaction",
263
- where="appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
264
- ),
265
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
266
- from_="Transaction",
267
- where="appName = 'Example application' AND (transactionType='Web')",
268
- ),
269
- ),
270
264
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
271
- objective=newrelic.ServiceLevelObjectiveArgs(
272
- target=99,
273
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
274
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
275
- count=7,
276
- unit="DAY",
277
- ),
278
- ),
279
- ))
265
+ name="Latency",
266
+ description="Proportion of requests that are served faster than a threshold.",
267
+ events={
268
+ "account_id": "12345678",
269
+ "valid_events": {
270
+ "from_": "Transaction",
271
+ "where": "appName = 'Example application' AND (transactionType='Web')",
272
+ },
273
+ "good_events": {
274
+ "from_": "Transaction",
275
+ "where": "appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
276
+ },
277
+ },
278
+ objective={
279
+ "target": 99,
280
+ "time_window": {
281
+ "rolling": {
282
+ "count": 7,
283
+ "unit": "DAY",
284
+ },
285
+ },
286
+ })
280
287
  ```
288
+
281
289
  ## Additional Example
282
290
 
283
291
  Service level with tags:
@@ -286,43 +294,44 @@ class ServiceLevel(pulumi.CustomResource):
286
294
  import pulumi
287
295
  import pulumi_newrelic as newrelic
288
296
 
289
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
297
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
290
298
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
299
+ name="My synthethic monitor - Success",
291
300
  description="Proportion of successful synthetic checks.",
292
- events=newrelic.ServiceLevelEventsArgs(
293
- account_id=12345678,
294
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
295
- from_="SyntheticCheck",
296
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
297
- ),
298
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
299
- from_="SyntheticCheck",
300
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
301
- ),
302
- ),
303
- objective=newrelic.ServiceLevelObjectiveArgs(
304
- target=99,
305
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
306
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
307
- count=7,
308
- unit="DAY",
309
- ),
310
- ),
311
- ))
312
- my_synthetic_monitor_service_level_tags = newrelic.EntityTags("mySyntheticMonitorServiceLevelTags",
301
+ events={
302
+ "account_id": "12345678",
303
+ "valid_events": {
304
+ "from_": "SyntheticCheck",
305
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
306
+ },
307
+ "good_events": {
308
+ "from_": "SyntheticCheck",
309
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
310
+ },
311
+ },
312
+ objective={
313
+ "target": 99,
314
+ "time_window": {
315
+ "rolling": {
316
+ "count": 7,
317
+ "unit": "DAY",
318
+ },
319
+ },
320
+ })
321
+ my_synthetic_monitor_service_level_tags = newrelic.EntityTags("my_synthetic_monitor_service_level_tags",
313
322
  guid=my_synthetic_monitor_service_level.sli_guid,
314
323
  tags=[
315
- newrelic.EntityTagsTagArgs(
316
- key="user_journey",
317
- values=[
324
+ {
325
+ "key": "user_journey",
326
+ "values": [
318
327
  "authentication",
319
328
  "sso",
320
329
  ],
321
- ),
322
- newrelic.EntityTagsTagArgs(
323
- key="owner",
324
- values=["identityTeam"],
325
- ),
330
+ },
331
+ {
332
+ "key": "owner",
333
+ "values": ["identityTeam"],
334
+ },
326
335
  ])
327
336
  ```
328
337
 
@@ -332,38 +341,39 @@ class ServiceLevel(pulumi.CustomResource):
332
341
  import pulumi
333
342
  import pulumi_newrelic as newrelic
334
343
 
335
- my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("mySyntheticMonitorDurationServiceLevel",
336
- description="Monitor created to test concurrent request from terraform",
337
- events=newrelic.ServiceLevelEventsArgs(
338
- account_id=313870,
339
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
340
- from_="Metric",
341
- select=newrelic.ServiceLevelEventsGoodEventsSelectArgs(
342
- attribute="`query.wallClockTime.negative.distribution`",
343
- function="GET_CDF_COUNT",
344
- threshold=7,
345
- ),
346
- where="metricName = 'query.wallClockTime.negative.distribution'",
347
- ),
348
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
349
- from_="Metric",
350
- select=newrelic.ServiceLevelEventsValidEventsSelectArgs(
351
- attribute="`query.wallClockTime.negative.distribution`",
352
- function="GET_FIELD",
353
- ),
354
- where="metricName = 'query.wallClockTime.negative.distribution'",
355
- ),
356
- ),
344
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
357
345
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
358
- objective=newrelic.ServiceLevelObjectiveArgs(
359
- target=49,
360
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
361
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
362
- count=7,
363
- unit="DAY",
364
- ),
365
- ),
366
- ))
346
+ name="Duration distribution is under 7",
347
+ description="Monitor created to test concurrent request from terraform",
348
+ events={
349
+ "account_id": "313870",
350
+ "valid_events": {
351
+ "from_": "Metric",
352
+ "select": {
353
+ "attribute": "`query.wallClockTime.negative.distribution`",
354
+ "function": "GET_FIELD",
355
+ },
356
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
357
+ },
358
+ "good_events": {
359
+ "from_": "Metric",
360
+ "select": {
361
+ "attribute": "`query.wallClockTime.negative.distribution`",
362
+ "function": "GET_CDF_COUNT",
363
+ "threshold": 7,
364
+ },
365
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
366
+ },
367
+ },
368
+ objective={
369
+ "target": 49,
370
+ "time_window": {
371
+ "rolling": {
372
+ "count": 7,
373
+ "unit": "DAY",
374
+ },
375
+ },
376
+ })
367
377
  ```
368
378
 
369
379
  For up-to-date documentation about the tagging resource, please check EntityTags
@@ -372,20 +382,24 @@ class ServiceLevel(pulumi.CustomResource):
372
382
 
373
383
  New Relic Service Levels can be imported using a concatenated string of the format
374
384
 
375
- `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to. Examplebash
385
+ `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
386
+
387
+ Example:
388
+
389
+ bash
376
390
 
377
391
  ```sh
378
- $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
392
+ $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
379
393
  ```
380
394
 
381
395
  :param str resource_name: The name of the resource.
382
396
  :param pulumi.ResourceOptions opts: Options for the resource.
383
- :param pulumi.Input[str] description: The description of the SLI.
384
- :param pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']] events: The events that define the NRDB data for the SLI/SLO calculations.
397
+ :param pulumi.Input[_builtins.str] description: The description of the SLI.
398
+ :param pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']] events: The events that define the NRDB data for the SLI/SLO calculations.
385
399
  See Events below for details.
386
- :param pulumi.Input[str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
387
- :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
388
- :param pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']] objective: The objective of the SLI, only one can be defined.
400
+ :param pulumi.Input[_builtins.str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
401
+ :param pulumi.Input[_builtins.str] name: A short name for the SLI that will help anyone understand what it is about.
402
+ :param pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']] objective: The objective of the SLI, only one can be defined.
389
403
  See Objective below for details.
390
404
  """
391
405
  ...
@@ -412,29 +426,31 @@ class ServiceLevel(pulumi.CustomResource):
412
426
  import pulumi_newrelic as newrelic
413
427
 
414
428
  foo = newrelic.ServiceLevel("foo",
415
- description="Proportion of requests that are served faster than a threshold.",
416
- events=newrelic.ServiceLevelEventsArgs(
417
- account_id=12345678,
418
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
419
- from_="Transaction",
420
- where="appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
421
- ),
422
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
423
- from_="Transaction",
424
- where="appName = 'Example application' AND (transactionType='Web')",
425
- ),
426
- ),
427
429
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
428
- objective=newrelic.ServiceLevelObjectiveArgs(
429
- target=99,
430
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
431
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
432
- count=7,
433
- unit="DAY",
434
- ),
435
- ),
436
- ))
430
+ name="Latency",
431
+ description="Proportion of requests that are served faster than a threshold.",
432
+ events={
433
+ "account_id": "12345678",
434
+ "valid_events": {
435
+ "from_": "Transaction",
436
+ "where": "appName = 'Example application' AND (transactionType='Web')",
437
+ },
438
+ "good_events": {
439
+ "from_": "Transaction",
440
+ "where": "appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
441
+ },
442
+ },
443
+ objective={
444
+ "target": 99,
445
+ "time_window": {
446
+ "rolling": {
447
+ "count": 7,
448
+ "unit": "DAY",
449
+ },
450
+ },
451
+ })
437
452
  ```
453
+
438
454
  ## Additional Example
439
455
 
440
456
  Service level with tags:
@@ -443,43 +459,44 @@ class ServiceLevel(pulumi.CustomResource):
443
459
  import pulumi
444
460
  import pulumi_newrelic as newrelic
445
461
 
446
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
462
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
447
463
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
464
+ name="My synthethic monitor - Success",
448
465
  description="Proportion of successful synthetic checks.",
449
- events=newrelic.ServiceLevelEventsArgs(
450
- account_id=12345678,
451
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
452
- from_="SyntheticCheck",
453
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
454
- ),
455
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
456
- from_="SyntheticCheck",
457
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
458
- ),
459
- ),
460
- objective=newrelic.ServiceLevelObjectiveArgs(
461
- target=99,
462
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
463
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
464
- count=7,
465
- unit="DAY",
466
- ),
467
- ),
468
- ))
469
- my_synthetic_monitor_service_level_tags = newrelic.EntityTags("mySyntheticMonitorServiceLevelTags",
466
+ events={
467
+ "account_id": "12345678",
468
+ "valid_events": {
469
+ "from_": "SyntheticCheck",
470
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
471
+ },
472
+ "good_events": {
473
+ "from_": "SyntheticCheck",
474
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
475
+ },
476
+ },
477
+ objective={
478
+ "target": 99,
479
+ "time_window": {
480
+ "rolling": {
481
+ "count": 7,
482
+ "unit": "DAY",
483
+ },
484
+ },
485
+ })
486
+ my_synthetic_monitor_service_level_tags = newrelic.EntityTags("my_synthetic_monitor_service_level_tags",
470
487
  guid=my_synthetic_monitor_service_level.sli_guid,
471
488
  tags=[
472
- newrelic.EntityTagsTagArgs(
473
- key="user_journey",
474
- values=[
489
+ {
490
+ "key": "user_journey",
491
+ "values": [
475
492
  "authentication",
476
493
  "sso",
477
494
  ],
478
- ),
479
- newrelic.EntityTagsTagArgs(
480
- key="owner",
481
- values=["identityTeam"],
482
- ),
495
+ },
496
+ {
497
+ "key": "owner",
498
+ "values": ["identityTeam"],
499
+ },
483
500
  ])
484
501
  ```
485
502
 
@@ -489,38 +506,39 @@ class ServiceLevel(pulumi.CustomResource):
489
506
  import pulumi
490
507
  import pulumi_newrelic as newrelic
491
508
 
492
- my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("mySyntheticMonitorDurationServiceLevel",
493
- description="Monitor created to test concurrent request from terraform",
494
- events=newrelic.ServiceLevelEventsArgs(
495
- account_id=313870,
496
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
497
- from_="Metric",
498
- select=newrelic.ServiceLevelEventsGoodEventsSelectArgs(
499
- attribute="`query.wallClockTime.negative.distribution`",
500
- function="GET_CDF_COUNT",
501
- threshold=7,
502
- ),
503
- where="metricName = 'query.wallClockTime.negative.distribution'",
504
- ),
505
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
506
- from_="Metric",
507
- select=newrelic.ServiceLevelEventsValidEventsSelectArgs(
508
- attribute="`query.wallClockTime.negative.distribution`",
509
- function="GET_FIELD",
510
- ),
511
- where="metricName = 'query.wallClockTime.negative.distribution'",
512
- ),
513
- ),
509
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
514
510
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
515
- objective=newrelic.ServiceLevelObjectiveArgs(
516
- target=49,
517
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
518
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
519
- count=7,
520
- unit="DAY",
521
- ),
522
- ),
523
- ))
511
+ name="Duration distribution is under 7",
512
+ description="Monitor created to test concurrent request from terraform",
513
+ events={
514
+ "account_id": "313870",
515
+ "valid_events": {
516
+ "from_": "Metric",
517
+ "select": {
518
+ "attribute": "`query.wallClockTime.negative.distribution`",
519
+ "function": "GET_FIELD",
520
+ },
521
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
522
+ },
523
+ "good_events": {
524
+ "from_": "Metric",
525
+ "select": {
526
+ "attribute": "`query.wallClockTime.negative.distribution`",
527
+ "function": "GET_CDF_COUNT",
528
+ "threshold": 7,
529
+ },
530
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
531
+ },
532
+ },
533
+ objective={
534
+ "target": 49,
535
+ "time_window": {
536
+ "rolling": {
537
+ "count": 7,
538
+ "unit": "DAY",
539
+ },
540
+ },
541
+ })
524
542
  ```
525
543
 
526
544
  For up-to-date documentation about the tagging resource, please check EntityTags
@@ -529,10 +547,14 @@ class ServiceLevel(pulumi.CustomResource):
529
547
 
530
548
  New Relic Service Levels can be imported using a concatenated string of the format
531
549
 
532
- `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to. Examplebash
550
+ `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
551
+
552
+ Example:
553
+
554
+ bash
533
555
 
534
556
  ```sh
535
- $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
557
+ $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
536
558
  ```
537
559
 
538
560
  :param str resource_name: The name of the resource.
@@ -550,11 +572,11 @@ class ServiceLevel(pulumi.CustomResource):
550
572
  def _internal_init(__self__,
551
573
  resource_name: str,
552
574
  opts: Optional[pulumi.ResourceOptions] = None,
553
- description: Optional[pulumi.Input[str]] = None,
554
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
555
- guid: Optional[pulumi.Input[str]] = None,
556
- name: Optional[pulumi.Input[str]] = None,
557
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
575
+ description: Optional[pulumi.Input[_builtins.str]] = None,
576
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
577
+ guid: Optional[pulumi.Input[_builtins.str]] = None,
578
+ name: Optional[pulumi.Input[_builtins.str]] = None,
579
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
558
580
  __props__=None):
559
581
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
560
582
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -587,13 +609,13 @@ class ServiceLevel(pulumi.CustomResource):
587
609
  def get(resource_name: str,
588
610
  id: pulumi.Input[str],
589
611
  opts: Optional[pulumi.ResourceOptions] = None,
590
- description: Optional[pulumi.Input[str]] = None,
591
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
592
- guid: Optional[pulumi.Input[str]] = None,
593
- name: Optional[pulumi.Input[str]] = None,
594
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
595
- sli_guid: Optional[pulumi.Input[str]] = None,
596
- sli_id: Optional[pulumi.Input[str]] = None) -> 'ServiceLevel':
612
+ description: Optional[pulumi.Input[_builtins.str]] = None,
613
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
614
+ guid: Optional[pulumi.Input[_builtins.str]] = None,
615
+ name: Optional[pulumi.Input[_builtins.str]] = None,
616
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
617
+ sli_guid: Optional[pulumi.Input[_builtins.str]] = None,
618
+ sli_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ServiceLevel':
597
619
  """
598
620
  Get an existing ServiceLevel resource's state with the given name, id, and optional extra
599
621
  properties used to qualify the lookup.
@@ -601,15 +623,15 @@ class ServiceLevel(pulumi.CustomResource):
601
623
  :param str resource_name: The unique name of the resulting resource.
602
624
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
603
625
  :param pulumi.ResourceOptions opts: Options for the resource.
604
- :param pulumi.Input[str] description: The description of the SLI.
605
- :param pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']] events: The events that define the NRDB data for the SLI/SLO calculations.
626
+ :param pulumi.Input[_builtins.str] description: The description of the SLI.
627
+ :param pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']] events: The events that define the NRDB data for the SLI/SLO calculations.
606
628
  See Events below for details.
607
- :param pulumi.Input[str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
608
- :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
609
- :param pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']] objective: The objective of the SLI, only one can be defined.
629
+ :param pulumi.Input[_builtins.str] guid: The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
630
+ :param pulumi.Input[_builtins.str] name: A short name for the SLI that will help anyone understand what it is about.
631
+ :param pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']] objective: The objective of the SLI, only one can be defined.
610
632
  See Objective below for details.
611
- :param pulumi.Input[str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
612
- :param pulumi.Input[str] sli_id: The unique entity identifier of the Service Level Indicator.
633
+ :param pulumi.Input[_builtins.str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
634
+ :param pulumi.Input[_builtins.str] sli_id: The unique entity identifier of the Service Level Indicator.
613
635
  """
614
636
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
615
637
 
@@ -624,15 +646,15 @@ class ServiceLevel(pulumi.CustomResource):
624
646
  __props__.__dict__["sli_id"] = sli_id
625
647
  return ServiceLevel(resource_name, opts=opts, __props__=__props__)
626
648
 
627
- @property
649
+ @_builtins.property
628
650
  @pulumi.getter
629
- def description(self) -> pulumi.Output[Optional[str]]:
651
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
630
652
  """
631
653
  The description of the SLI.
632
654
  """
633
655
  return pulumi.get(self, "description")
634
656
 
635
- @property
657
+ @_builtins.property
636
658
  @pulumi.getter
637
659
  def events(self) -> pulumi.Output['outputs.ServiceLevelEvents']:
638
660
  """
@@ -641,23 +663,23 @@ class ServiceLevel(pulumi.CustomResource):
641
663
  """
642
664
  return pulumi.get(self, "events")
643
665
 
644
- @property
666
+ @_builtins.property
645
667
  @pulumi.getter
646
- def guid(self) -> pulumi.Output[str]:
668
+ def guid(self) -> pulumi.Output[_builtins.str]:
647
669
  """
648
670
  The GUID of the entity (e.g, APM Service, Browser application, Workload, etc.) that you want to relate this SLI to. Note that changing the GUID will force a new resource.
649
671
  """
650
672
  return pulumi.get(self, "guid")
651
673
 
652
- @property
674
+ @_builtins.property
653
675
  @pulumi.getter
654
- def name(self) -> pulumi.Output[str]:
676
+ def name(self) -> pulumi.Output[_builtins.str]:
655
677
  """
656
678
  A short name for the SLI that will help anyone understand what it is about.
657
679
  """
658
680
  return pulumi.get(self, "name")
659
681
 
660
- @property
682
+ @_builtins.property
661
683
  @pulumi.getter
662
684
  def objective(self) -> pulumi.Output['outputs.ServiceLevelObjective']:
663
685
  """
@@ -666,17 +688,17 @@ class ServiceLevel(pulumi.CustomResource):
666
688
  """
667
689
  return pulumi.get(self, "objective")
668
690
 
669
- @property
691
+ @_builtins.property
670
692
  @pulumi.getter(name="sliGuid")
671
- def sli_guid(self) -> pulumi.Output[str]:
693
+ def sli_guid(self) -> pulumi.Output[_builtins.str]:
672
694
  """
673
695
  The unique entity identifier of the Service Level Indicator in New Relic.
674
696
  """
675
697
  return pulumi.get(self, "sli_guid")
676
698
 
677
- @property
699
+ @_builtins.property
678
700
  @pulumi.getter(name="sliId")
679
- def sli_id(self) -> pulumi.Output[str]:
701
+ def sli_id(self) -> pulumi.Output[_builtins.str]:
680
702
  """
681
703
  The unique entity identifier of the Service Level Indicator.
682
704
  """