pulumi-newrelic 5.20.0a1709643785__py3-none-any.whl → 5.39.0a1736834464__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. pulumi_newrelic/__init__.py +9 -0
  2. pulumi_newrelic/_inputs.py +7153 -461
  3. pulumi_newrelic/_utilities.py +41 -5
  4. pulumi_newrelic/account_management.py +13 -4
  5. pulumi_newrelic/alert_channel.py +122 -101
  6. pulumi_newrelic/alert_condition.py +120 -109
  7. pulumi_newrelic/alert_muting_rule.py +130 -74
  8. pulumi_newrelic/alert_policy.py +88 -67
  9. pulumi_newrelic/alert_policy_channel.py +81 -68
  10. pulumi_newrelic/api_access_key.py +49 -52
  11. pulumi_newrelic/browser_application.py +79 -76
  12. pulumi_newrelic/cloud/_inputs.py +2527 -1082
  13. pulumi_newrelic/cloud/aws_govcloud_integrations.py +135 -130
  14. pulumi_newrelic/cloud/aws_govcloud_link_account.py +25 -18
  15. pulumi_newrelic/cloud/aws_integrations.py +300 -1324
  16. pulumi_newrelic/cloud/aws_link_account.py +25 -18
  17. pulumi_newrelic/cloud/azure_integrations.py +523 -481
  18. pulumi_newrelic/cloud/azure_link_account.py +36 -29
  19. pulumi_newrelic/cloud/gcp_integrations.py +343 -320
  20. pulumi_newrelic/cloud/gcp_link_account.py +25 -18
  21. pulumi_newrelic/cloud/outputs.py +327 -1072
  22. pulumi_newrelic/config/__init__.pyi +6 -1
  23. pulumi_newrelic/config/vars.py +7 -2
  24. pulumi_newrelic/data_partition_rule.py +23 -16
  25. pulumi_newrelic/entity_tags.py +36 -31
  26. pulumi_newrelic/events_to_metrics_rule.py +27 -20
  27. pulumi_newrelic/get_account.py +24 -12
  28. pulumi_newrelic/get_alert_channel.py +26 -13
  29. pulumi_newrelic/get_alert_policy.py +35 -12
  30. pulumi_newrelic/get_application.py +39 -27
  31. pulumi_newrelic/get_authentication_domain.py +17 -9
  32. pulumi_newrelic/get_cloud_account.py +26 -14
  33. pulumi_newrelic/get_entity.py +90 -85
  34. pulumi_newrelic/get_group.py +58 -9
  35. pulumi_newrelic/get_key_transaction.py +109 -30
  36. pulumi_newrelic/get_notification_destination.py +64 -14
  37. pulumi_newrelic/get_obfuscation_expression.py +36 -24
  38. pulumi_newrelic/get_service_level_alert_helper.py +135 -105
  39. pulumi_newrelic/get_test_grok_pattern.py +29 -14
  40. pulumi_newrelic/get_user.py +17 -5
  41. pulumi_newrelic/group.py +5 -132
  42. pulumi_newrelic/infra_alert_condition.py +157 -140
  43. pulumi_newrelic/insights/_inputs.py +43 -0
  44. pulumi_newrelic/insights/event.py +50 -43
  45. pulumi_newrelic/insights/outputs.py +5 -0
  46. pulumi_newrelic/key_transaction.py +464 -0
  47. pulumi_newrelic/log_parsing_rule.py +29 -18
  48. pulumi_newrelic/monitor_downtime.py +215 -203
  49. pulumi_newrelic/notification_channel.py +387 -326
  50. pulumi_newrelic/notification_destination.py +248 -118
  51. pulumi_newrelic/nrql_alert_condition.py +353 -246
  52. pulumi_newrelic/nrql_drop_rule.py +57 -30
  53. pulumi_newrelic/obfuscation_expression.py +25 -18
  54. pulumi_newrelic/obfuscation_rule.py +40 -31
  55. pulumi_newrelic/one_dashboard.py +31 -26
  56. pulumi_newrelic/one_dashboard_json.py +21 -16
  57. pulumi_newrelic/one_dashboard_raw.py +112 -101
  58. pulumi_newrelic/outputs.py +2446 -245
  59. pulumi_newrelic/plugins/_inputs.py +145 -10
  60. pulumi_newrelic/plugins/application_settings.py +29 -20
  61. pulumi_newrelic/plugins/outputs.py +15 -10
  62. pulumi_newrelic/plugins/workload.py +285 -54
  63. pulumi_newrelic/provider.py +27 -33
  64. pulumi_newrelic/pulumi-plugin.json +2 -1
  65. pulumi_newrelic/service_level.py +193 -180
  66. pulumi_newrelic/synthetics/_inputs.py +159 -2
  67. pulumi_newrelic/synthetics/alert_condition.py +91 -78
  68. pulumi_newrelic/synthetics/broken_links_monitor.py +220 -93
  69. pulumi_newrelic/synthetics/cert_check_monitor.py +223 -94
  70. pulumi_newrelic/synthetics/get_private_location.py +34 -22
  71. pulumi_newrelic/synthetics/get_secure_credential.py +24 -12
  72. pulumi_newrelic/synthetics/monitor.py +352 -179
  73. pulumi_newrelic/synthetics/multi_location_alert_condition.py +109 -96
  74. pulumi_newrelic/synthetics/outputs.py +7 -2
  75. pulumi_newrelic/synthetics/private_location.py +27 -18
  76. pulumi_newrelic/synthetics/script_monitor.py +321 -168
  77. pulumi_newrelic/synthetics/secure_credential.py +25 -20
  78. pulumi_newrelic/synthetics/step_monitor.py +409 -98
  79. pulumi_newrelic/user.py +13 -6
  80. pulumi_newrelic/workflow.py +215 -184
  81. {pulumi_newrelic-5.20.0a1709643785.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/METADATA +7 -6
  82. pulumi_newrelic-5.39.0a1736834464.dist-info/RECORD +90 -0
  83. {pulumi_newrelic-5.20.0a1709643785.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/WHEEL +1 -1
  84. pulumi_newrelic-5.20.0a1709643785.dist-info/RECORD +0 -89
  85. {pulumi_newrelic-5.20.0a1709643785.dist-info → pulumi_newrelic-5.39.0a1736834464.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 *
@@ -232,10 +237,10 @@ class ServiceLevel(pulumi.CustomResource):
232
237
  resource_name: str,
233
238
  opts: Optional[pulumi.ResourceOptions] = None,
234
239
  description: Optional[pulumi.Input[str]] = None,
235
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
240
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
236
241
  guid: Optional[pulumi.Input[str]] = None,
237
242
  name: Optional[pulumi.Input[str]] = None,
238
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
243
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
239
244
  __props__=None):
240
245
  """
241
246
  Use this resource to create, update, and delete New Relic Service Level Indicators and Objectives.
@@ -255,29 +260,31 @@ class ServiceLevel(pulumi.CustomResource):
255
260
  import pulumi_newrelic as newrelic
256
261
 
257
262
  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
263
  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
- ))
264
+ name="Latency",
265
+ description="Proportion of requests that are served faster than a threshold.",
266
+ events={
267
+ "account_id": "12345678",
268
+ "valid_events": {
269
+ "from_": "Transaction",
270
+ "where": "appName = 'Example application' AND (transactionType='Web')",
271
+ },
272
+ "good_events": {
273
+ "from_": "Transaction",
274
+ "where": "appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
275
+ },
276
+ },
277
+ objective={
278
+ "target": 99,
279
+ "time_window": {
280
+ "rolling": {
281
+ "count": 7,
282
+ "unit": "DAY",
283
+ },
284
+ },
285
+ })
280
286
  ```
287
+
281
288
  ## Additional Example
282
289
 
283
290
  Service level with tags:
@@ -286,43 +293,44 @@ class ServiceLevel(pulumi.CustomResource):
286
293
  import pulumi
287
294
  import pulumi_newrelic as newrelic
288
295
 
289
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
296
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
290
297
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
298
+ name="My synthethic monitor - Success",
291
299
  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",
300
+ events={
301
+ "account_id": "12345678",
302
+ "valid_events": {
303
+ "from_": "SyntheticCheck",
304
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
305
+ },
306
+ "good_events": {
307
+ "from_": "SyntheticCheck",
308
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
309
+ },
310
+ },
311
+ objective={
312
+ "target": 99,
313
+ "time_window": {
314
+ "rolling": {
315
+ "count": 7,
316
+ "unit": "DAY",
317
+ },
318
+ },
319
+ })
320
+ my_synthetic_monitor_service_level_tags = newrelic.EntityTags("my_synthetic_monitor_service_level_tags",
313
321
  guid=my_synthetic_monitor_service_level.sli_guid,
314
322
  tags=[
315
- newrelic.EntityTagsTagArgs(
316
- key="user_journey",
317
- values=[
323
+ {
324
+ "key": "user_journey",
325
+ "values": [
318
326
  "authentication",
319
327
  "sso",
320
328
  ],
321
- ),
322
- newrelic.EntityTagsTagArgs(
323
- key="owner",
324
- values=["identityTeam"],
325
- ),
329
+ },
330
+ {
331
+ "key": "owner",
332
+ "values": ["identityTeam"],
333
+ },
326
334
  ])
327
335
  ```
328
336
 
@@ -332,38 +340,39 @@ class ServiceLevel(pulumi.CustomResource):
332
340
  import pulumi
333
341
  import pulumi_newrelic as newrelic
334
342
 
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
- ),
343
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
357
344
  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
- ))
345
+ name="Duration distribution is under 7",
346
+ description="Monitor created to test concurrent request from terraform",
347
+ events={
348
+ "account_id": "313870",
349
+ "valid_events": {
350
+ "from_": "Metric",
351
+ "select": {
352
+ "attribute": "`query.wallClockTime.negative.distribution`",
353
+ "function": "GET_FIELD",
354
+ },
355
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
356
+ },
357
+ "good_events": {
358
+ "from_": "Metric",
359
+ "select": {
360
+ "attribute": "`query.wallClockTime.negative.distribution`",
361
+ "function": "GET_CDF_COUNT",
362
+ "threshold": 7,
363
+ },
364
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
365
+ },
366
+ },
367
+ objective={
368
+ "target": 49,
369
+ "time_window": {
370
+ "rolling": {
371
+ "count": 7,
372
+ "unit": "DAY",
373
+ },
374
+ },
375
+ })
367
376
  ```
368
377
 
369
378
  For up-to-date documentation about the tagging resource, please check EntityTags
@@ -372,11 +381,11 @@ class ServiceLevel(pulumi.CustomResource):
372
381
 
373
382
  New Relic Service Levels can be imported using a concatenated string of the format
374
383
 
375
- `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
384
+ `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
376
385
 
377
- Example:
386
+ Example:
378
387
 
379
- bash
388
+ bash
380
389
 
381
390
  ```sh
382
391
  $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
@@ -385,11 +394,11 @@ class ServiceLevel(pulumi.CustomResource):
385
394
  :param str resource_name: The name of the resource.
386
395
  :param pulumi.ResourceOptions opts: Options for the resource.
387
396
  :param pulumi.Input[str] description: The description of the SLI.
388
- :param pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']] events: The events that define the NRDB data for the SLI/SLO calculations.
397
+ :param pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']] events: The events that define the NRDB data for the SLI/SLO calculations.
389
398
  See Events below for details.
390
399
  :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.
391
400
  :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
392
- :param pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']] objective: The objective of the SLI, only one can be defined.
401
+ :param pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']] objective: The objective of the SLI, only one can be defined.
393
402
  See Objective below for details.
394
403
  """
395
404
  ...
@@ -416,29 +425,31 @@ class ServiceLevel(pulumi.CustomResource):
416
425
  import pulumi_newrelic as newrelic
417
426
 
418
427
  foo = newrelic.ServiceLevel("foo",
419
- description="Proportion of requests that are served faster than a threshold.",
420
- events=newrelic.ServiceLevelEventsArgs(
421
- account_id=12345678,
422
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
423
- from_="Transaction",
424
- where="appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
425
- ),
426
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
427
- from_="Transaction",
428
- where="appName = 'Example application' AND (transactionType='Web')",
429
- ),
430
- ),
431
428
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
432
- objective=newrelic.ServiceLevelObjectiveArgs(
433
- target=99,
434
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
435
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
436
- count=7,
437
- unit="DAY",
438
- ),
439
- ),
440
- ))
429
+ name="Latency",
430
+ description="Proportion of requests that are served faster than a threshold.",
431
+ events={
432
+ "account_id": "12345678",
433
+ "valid_events": {
434
+ "from_": "Transaction",
435
+ "where": "appName = 'Example application' AND (transactionType='Web')",
436
+ },
437
+ "good_events": {
438
+ "from_": "Transaction",
439
+ "where": "appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
440
+ },
441
+ },
442
+ objective={
443
+ "target": 99,
444
+ "time_window": {
445
+ "rolling": {
446
+ "count": 7,
447
+ "unit": "DAY",
448
+ },
449
+ },
450
+ })
441
451
  ```
452
+
442
453
  ## Additional Example
443
454
 
444
455
  Service level with tags:
@@ -447,43 +458,44 @@ class ServiceLevel(pulumi.CustomResource):
447
458
  import pulumi
448
459
  import pulumi_newrelic as newrelic
449
460
 
450
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
461
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
451
462
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
463
+ name="My synthethic monitor - Success",
452
464
  description="Proportion of successful synthetic checks.",
453
- events=newrelic.ServiceLevelEventsArgs(
454
- account_id=12345678,
455
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
456
- from_="SyntheticCheck",
457
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
458
- ),
459
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
460
- from_="SyntheticCheck",
461
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
462
- ),
463
- ),
464
- objective=newrelic.ServiceLevelObjectiveArgs(
465
- target=99,
466
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
467
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
468
- count=7,
469
- unit="DAY",
470
- ),
471
- ),
472
- ))
473
- my_synthetic_monitor_service_level_tags = newrelic.EntityTags("mySyntheticMonitorServiceLevelTags",
465
+ events={
466
+ "account_id": "12345678",
467
+ "valid_events": {
468
+ "from_": "SyntheticCheck",
469
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
470
+ },
471
+ "good_events": {
472
+ "from_": "SyntheticCheck",
473
+ "where": "entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
474
+ },
475
+ },
476
+ objective={
477
+ "target": 99,
478
+ "time_window": {
479
+ "rolling": {
480
+ "count": 7,
481
+ "unit": "DAY",
482
+ },
483
+ },
484
+ })
485
+ my_synthetic_monitor_service_level_tags = newrelic.EntityTags("my_synthetic_monitor_service_level_tags",
474
486
  guid=my_synthetic_monitor_service_level.sli_guid,
475
487
  tags=[
476
- newrelic.EntityTagsTagArgs(
477
- key="user_journey",
478
- values=[
488
+ {
489
+ "key": "user_journey",
490
+ "values": [
479
491
  "authentication",
480
492
  "sso",
481
493
  ],
482
- ),
483
- newrelic.EntityTagsTagArgs(
484
- key="owner",
485
- values=["identityTeam"],
486
- ),
494
+ },
495
+ {
496
+ "key": "owner",
497
+ "values": ["identityTeam"],
498
+ },
487
499
  ])
488
500
  ```
489
501
 
@@ -493,38 +505,39 @@ class ServiceLevel(pulumi.CustomResource):
493
505
  import pulumi
494
506
  import pulumi_newrelic as newrelic
495
507
 
496
- my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("mySyntheticMonitorDurationServiceLevel",
497
- description="Monitor created to test concurrent request from terraform",
498
- events=newrelic.ServiceLevelEventsArgs(
499
- account_id=313870,
500
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
501
- from_="Metric",
502
- select=newrelic.ServiceLevelEventsGoodEventsSelectArgs(
503
- attribute="`query.wallClockTime.negative.distribution`",
504
- function="GET_CDF_COUNT",
505
- threshold=7,
506
- ),
507
- where="metricName = 'query.wallClockTime.negative.distribution'",
508
- ),
509
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
510
- from_="Metric",
511
- select=newrelic.ServiceLevelEventsValidEventsSelectArgs(
512
- attribute="`query.wallClockTime.negative.distribution`",
513
- function="GET_FIELD",
514
- ),
515
- where="metricName = 'query.wallClockTime.negative.distribution'",
516
- ),
517
- ),
508
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
518
509
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
519
- objective=newrelic.ServiceLevelObjectiveArgs(
520
- target=49,
521
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
522
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
523
- count=7,
524
- unit="DAY",
525
- ),
526
- ),
527
- ))
510
+ name="Duration distribution is under 7",
511
+ description="Monitor created to test concurrent request from terraform",
512
+ events={
513
+ "account_id": "313870",
514
+ "valid_events": {
515
+ "from_": "Metric",
516
+ "select": {
517
+ "attribute": "`query.wallClockTime.negative.distribution`",
518
+ "function": "GET_FIELD",
519
+ },
520
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
521
+ },
522
+ "good_events": {
523
+ "from_": "Metric",
524
+ "select": {
525
+ "attribute": "`query.wallClockTime.negative.distribution`",
526
+ "function": "GET_CDF_COUNT",
527
+ "threshold": 7,
528
+ },
529
+ "where": "metricName = 'query.wallClockTime.negative.distribution'",
530
+ },
531
+ },
532
+ objective={
533
+ "target": 49,
534
+ "time_window": {
535
+ "rolling": {
536
+ "count": 7,
537
+ "unit": "DAY",
538
+ },
539
+ },
540
+ })
528
541
  ```
529
542
 
530
543
  For up-to-date documentation about the tagging resource, please check EntityTags
@@ -533,11 +546,11 @@ class ServiceLevel(pulumi.CustomResource):
533
546
 
534
547
  New Relic Service Levels can be imported using a concatenated string of the format
535
548
 
536
- `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
549
+ `<account_id>:<sli_id>:<guid>`, where the `guid` is the entity the SLI relates to.
537
550
 
538
- Example:
551
+ Example:
539
552
 
540
- bash
553
+ bash
541
554
 
542
555
  ```sh
543
556
  $ pulumi import newrelic:index/serviceLevel:ServiceLevel foo 12345678:4321:MXxBUE18QVBQTElDQVRJT058MQ
@@ -559,10 +572,10 @@ class ServiceLevel(pulumi.CustomResource):
559
572
  resource_name: str,
560
573
  opts: Optional[pulumi.ResourceOptions] = None,
561
574
  description: Optional[pulumi.Input[str]] = None,
562
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
575
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
563
576
  guid: Optional[pulumi.Input[str]] = None,
564
577
  name: Optional[pulumi.Input[str]] = None,
565
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
578
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
566
579
  __props__=None):
567
580
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
568
581
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -596,10 +609,10 @@ class ServiceLevel(pulumi.CustomResource):
596
609
  id: pulumi.Input[str],
597
610
  opts: Optional[pulumi.ResourceOptions] = None,
598
611
  description: Optional[pulumi.Input[str]] = None,
599
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
612
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
600
613
  guid: Optional[pulumi.Input[str]] = None,
601
614
  name: Optional[pulumi.Input[str]] = None,
602
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
615
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
603
616
  sli_guid: Optional[pulumi.Input[str]] = None,
604
617
  sli_id: Optional[pulumi.Input[str]] = None) -> 'ServiceLevel':
605
618
  """
@@ -610,11 +623,11 @@ class ServiceLevel(pulumi.CustomResource):
610
623
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
611
624
  :param pulumi.ResourceOptions opts: Options for the resource.
612
625
  :param pulumi.Input[str] description: The description of the SLI.
613
- :param pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']] events: The events that define the NRDB data for the SLI/SLO calculations.
626
+ :param pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']] events: The events that define the NRDB data for the SLI/SLO calculations.
614
627
  See Events below for details.
615
628
  :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.
616
629
  :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
617
- :param pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']] objective: The objective of the SLI, only one can be defined.
630
+ :param pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']] objective: The objective of the SLI, only one can be defined.
618
631
  See Objective below for details.
619
632
  :param pulumi.Input[str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
620
633
  :param pulumi.Input[str] sli_id: The unique entity identifier of the Service Level Indicator.