pulumi-newrelic 5.21.0a1710157101__py3-none-any.whl → 5.39.0a1736849617__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 +11 -6
  5. pulumi_newrelic/alert_channel.py +116 -127
  6. pulumi_newrelic/alert_condition.py +116 -129
  7. pulumi_newrelic/alert_muting_rule.py +128 -76
  8. pulumi_newrelic/alert_policy.py +78 -75
  9. pulumi_newrelic/alert_policy_channel.py +77 -68
  10. pulumi_newrelic/api_access_key.py +45 -28
  11. pulumi_newrelic/browser_application.py +77 -78
  12. pulumi_newrelic/cloud/_inputs.py +2527 -1082
  13. pulumi_newrelic/cloud/aws_govcloud_integrations.py +133 -128
  14. pulumi_newrelic/cloud/aws_govcloud_link_account.py +23 -20
  15. pulumi_newrelic/cloud/aws_integrations.py +298 -1326
  16. pulumi_newrelic/cloud/aws_link_account.py +23 -20
  17. pulumi_newrelic/cloud/azure_integrations.py +521 -483
  18. pulumi_newrelic/cloud/azure_link_account.py +34 -31
  19. pulumi_newrelic/cloud/gcp_integrations.py +341 -322
  20. pulumi_newrelic/cloud/gcp_link_account.py +23 -20
  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 +19 -18
  25. pulumi_newrelic/entity_tags.py +32 -31
  26. pulumi_newrelic/events_to_metrics_rule.py +23 -20
  27. pulumi_newrelic/get_account.py +24 -16
  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 -31
  31. pulumi_newrelic/get_authentication_domain.py +17 -13
  32. pulumi_newrelic/get_cloud_account.py +26 -18
  33. pulumi_newrelic/get_entity.py +90 -147
  34. pulumi_newrelic/get_group.py +58 -13
  35. pulumi_newrelic/get_key_transaction.py +109 -34
  36. pulumi_newrelic/get_notification_destination.py +64 -14
  37. pulumi_newrelic/get_obfuscation_expression.py +36 -28
  38. pulumi_newrelic/get_service_level_alert_helper.py +135 -117
  39. pulumi_newrelic/get_test_grok_pattern.py +29 -18
  40. pulumi_newrelic/get_user.py +17 -9
  41. pulumi_newrelic/group.py +5 -146
  42. pulumi_newrelic/infra_alert_condition.py +160 -167
  43. pulumi_newrelic/insights/_inputs.py +43 -0
  44. pulumi_newrelic/insights/event.py +48 -47
  45. pulumi_newrelic/insights/outputs.py +5 -0
  46. pulumi_newrelic/key_transaction.py +464 -0
  47. pulumi_newrelic/log_parsing_rule.py +25 -24
  48. pulumi_newrelic/monitor_downtime.py +211 -225
  49. pulumi_newrelic/notification_channel.py +381 -366
  50. pulumi_newrelic/notification_destination.py +192 -54
  51. pulumi_newrelic/nrql_alert_condition.py +345 -262
  52. pulumi_newrelic/nrql_drop_rule.py +31 -30
  53. pulumi_newrelic/obfuscation_expression.py +23 -20
  54. pulumi_newrelic/obfuscation_rule.py +38 -33
  55. pulumi_newrelic/one_dashboard.py +29 -24
  56. pulumi_newrelic/one_dashboard_json.py +19 -14
  57. pulumi_newrelic/one_dashboard_raw.py +110 -105
  58. pulumi_newrelic/outputs.py +2446 -245
  59. pulumi_newrelic/plugins/_inputs.py +145 -10
  60. pulumi_newrelic/plugins/application_settings.py +25 -36
  61. pulumi_newrelic/plugins/outputs.py +15 -10
  62. pulumi_newrelic/plugins/workload.py +215 -92
  63. pulumi_newrelic/provider.py +27 -33
  64. pulumi_newrelic/pulumi-plugin.json +2 -1
  65. pulumi_newrelic/service_level.py +185 -186
  66. pulumi_newrelic/synthetics/_inputs.py +159 -2
  67. pulumi_newrelic/synthetics/alert_condition.py +87 -98
  68. pulumi_newrelic/synthetics/broken_links_monitor.py +216 -99
  69. pulumi_newrelic/synthetics/cert_check_monitor.py +219 -100
  70. pulumi_newrelic/synthetics/get_private_location.py +34 -30
  71. pulumi_newrelic/synthetics/get_secure_credential.py +24 -16
  72. pulumi_newrelic/synthetics/monitor.py +348 -193
  73. pulumi_newrelic/synthetics/multi_location_alert_condition.py +105 -100
  74. pulumi_newrelic/synthetics/outputs.py +7 -2
  75. pulumi_newrelic/synthetics/private_location.py +25 -20
  76. pulumi_newrelic/synthetics/script_monitor.py +317 -182
  77. pulumi_newrelic/synthetics/secure_credential.py +23 -22
  78. pulumi_newrelic/synthetics/step_monitor.py +405 -100
  79. pulumi_newrelic/user.py +13 -10
  80. pulumi_newrelic/workflow.py +209 -196
  81. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736849617.dist-info}/METADATA +7 -6
  82. pulumi_newrelic-5.39.0a1736849617.dist-info/RECORD +90 -0
  83. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736849617.dist-info}/WHEEL +1 -1
  84. pulumi_newrelic-5.21.0a1710157101.dist-info/RECORD +0 -89
  85. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736849617.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.
@@ -250,128 +255,125 @@ class ServiceLevel(pulumi.CustomResource):
250
255
 
251
256
  ## Example Usage
252
257
 
253
- <!--Start PulumiCodeChooser -->
254
258
  ```python
255
259
  import pulumi
256
260
  import pulumi_newrelic as newrelic
257
261
 
258
262
  foo = newrelic.ServiceLevel("foo",
259
- description="Proportion of requests that are served faster than a threshold.",
260
- events=newrelic.ServiceLevelEventsArgs(
261
- account_id=12345678,
262
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
263
- from_="Transaction",
264
- where="appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
265
- ),
266
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
267
- from_="Transaction",
268
- where="appName = 'Example application' AND (transactionType='Web')",
269
- ),
270
- ),
271
263
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
272
- objective=newrelic.ServiceLevelObjectiveArgs(
273
- target=99,
274
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
275
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
276
- count=7,
277
- unit="DAY",
278
- ),
279
- ),
280
- ))
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
+ })
281
286
  ```
282
- <!--End PulumiCodeChooser -->
283
287
 
284
288
  ## Additional Example
285
289
 
286
290
  Service level with tags:
287
291
 
288
- <!--Start PulumiCodeChooser -->
289
292
  ```python
290
293
  import pulumi
291
294
  import pulumi_newrelic as newrelic
292
295
 
293
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
296
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
294
297
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
298
+ name="My synthethic monitor - Success",
295
299
  description="Proportion of successful synthetic checks.",
296
- events=newrelic.ServiceLevelEventsArgs(
297
- account_id=12345678,
298
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
299
- from_="SyntheticCheck",
300
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
301
- ),
302
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
303
- from_="SyntheticCheck",
304
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
305
- ),
306
- ),
307
- objective=newrelic.ServiceLevelObjectiveArgs(
308
- target=99,
309
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
310
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
311
- count=7,
312
- unit="DAY",
313
- ),
314
- ),
315
- ))
316
- 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",
317
321
  guid=my_synthetic_monitor_service_level.sli_guid,
318
322
  tags=[
319
- newrelic.EntityTagsTagArgs(
320
- key="user_journey",
321
- values=[
323
+ {
324
+ "key": "user_journey",
325
+ "values": [
322
326
  "authentication",
323
327
  "sso",
324
328
  ],
325
- ),
326
- newrelic.EntityTagsTagArgs(
327
- key="owner",
328
- values=["identityTeam"],
329
- ),
329
+ },
330
+ {
331
+ "key": "owner",
332
+ "values": ["identityTeam"],
333
+ },
330
334
  ])
331
335
  ```
332
- <!--End PulumiCodeChooser -->
333
336
 
334
337
  Using `select` for events
335
338
 
336
- <!--Start PulumiCodeChooser -->
337
339
  ```python
338
340
  import pulumi
339
341
  import pulumi_newrelic as newrelic
340
342
 
341
- my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("mySyntheticMonitorDurationServiceLevel",
342
- description="Monitor created to test concurrent request from terraform",
343
- events=newrelic.ServiceLevelEventsArgs(
344
- account_id=313870,
345
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
346
- from_="Metric",
347
- select=newrelic.ServiceLevelEventsGoodEventsSelectArgs(
348
- attribute="`query.wallClockTime.negative.distribution`",
349
- function="GET_CDF_COUNT",
350
- threshold=7,
351
- ),
352
- where="metricName = 'query.wallClockTime.negative.distribution'",
353
- ),
354
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
355
- from_="Metric",
356
- select=newrelic.ServiceLevelEventsValidEventsSelectArgs(
357
- attribute="`query.wallClockTime.negative.distribution`",
358
- function="GET_FIELD",
359
- ),
360
- where="metricName = 'query.wallClockTime.negative.distribution'",
361
- ),
362
- ),
343
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
363
344
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
364
- objective=newrelic.ServiceLevelObjectiveArgs(
365
- target=49,
366
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
367
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
368
- count=7,
369
- unit="DAY",
370
- ),
371
- ),
372
- ))
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
+ })
373
376
  ```
374
- <!--End PulumiCodeChooser -->
375
377
 
376
378
  For up-to-date documentation about the tagging resource, please check EntityTags
377
379
 
@@ -392,11 +394,11 @@ class ServiceLevel(pulumi.CustomResource):
392
394
  :param str resource_name: The name of the resource.
393
395
  :param pulumi.ResourceOptions opts: Options for the resource.
394
396
  :param pulumi.Input[str] description: The description of the SLI.
395
- :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.
396
398
  See Events below for details.
397
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.
398
400
  :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
399
- :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.
400
402
  See Objective below for details.
401
403
  """
402
404
  ...
@@ -418,128 +420,125 @@ class ServiceLevel(pulumi.CustomResource):
418
420
 
419
421
  ## Example Usage
420
422
 
421
- <!--Start PulumiCodeChooser -->
422
423
  ```python
423
424
  import pulumi
424
425
  import pulumi_newrelic as newrelic
425
426
 
426
427
  foo = newrelic.ServiceLevel("foo",
427
- description="Proportion of requests that are served faster than a threshold.",
428
- events=newrelic.ServiceLevelEventsArgs(
429
- account_id=12345678,
430
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
431
- from_="Transaction",
432
- where="appName = 'Example application' AND (transactionType= 'Web') AND duration < 0.1",
433
- ),
434
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
435
- from_="Transaction",
436
- where="appName = 'Example application' AND (transactionType='Web')",
437
- ),
438
- ),
439
428
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
440
- objective=newrelic.ServiceLevelObjectiveArgs(
441
- target=99,
442
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
443
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
444
- count=7,
445
- unit="DAY",
446
- ),
447
- ),
448
- ))
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
+ })
449
451
  ```
450
- <!--End PulumiCodeChooser -->
451
452
 
452
453
  ## Additional Example
453
454
 
454
455
  Service level with tags:
455
456
 
456
- <!--Start PulumiCodeChooser -->
457
457
  ```python
458
458
  import pulumi
459
459
  import pulumi_newrelic as newrelic
460
460
 
461
- my_synthetic_monitor_service_level = newrelic.ServiceLevel("mySyntheticMonitorServiceLevel",
461
+ my_synthetic_monitor_service_level = newrelic.ServiceLevel("my_synthetic_monitor_service_level",
462
462
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
463
+ name="My synthethic monitor - Success",
463
464
  description="Proportion of successful synthetic checks.",
464
- events=newrelic.ServiceLevelEventsArgs(
465
- account_id=12345678,
466
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
467
- from_="SyntheticCheck",
468
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ'",
469
- ),
470
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
471
- from_="SyntheticCheck",
472
- where="entityGuid = 'MXxBUE18QVBQTElDQVRJT058MQ' AND result='SUCCESS'",
473
- ),
474
- ),
475
- objective=newrelic.ServiceLevelObjectiveArgs(
476
- target=99,
477
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
478
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
479
- count=7,
480
- unit="DAY",
481
- ),
482
- ),
483
- ))
484
- 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",
485
486
  guid=my_synthetic_monitor_service_level.sli_guid,
486
487
  tags=[
487
- newrelic.EntityTagsTagArgs(
488
- key="user_journey",
489
- values=[
488
+ {
489
+ "key": "user_journey",
490
+ "values": [
490
491
  "authentication",
491
492
  "sso",
492
493
  ],
493
- ),
494
- newrelic.EntityTagsTagArgs(
495
- key="owner",
496
- values=["identityTeam"],
497
- ),
494
+ },
495
+ {
496
+ "key": "owner",
497
+ "values": ["identityTeam"],
498
+ },
498
499
  ])
499
500
  ```
500
- <!--End PulumiCodeChooser -->
501
501
 
502
502
  Using `select` for events
503
503
 
504
- <!--Start PulumiCodeChooser -->
505
504
  ```python
506
505
  import pulumi
507
506
  import pulumi_newrelic as newrelic
508
507
 
509
- my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("mySyntheticMonitorDurationServiceLevel",
510
- description="Monitor created to test concurrent request from terraform",
511
- events=newrelic.ServiceLevelEventsArgs(
512
- account_id=313870,
513
- good_events=newrelic.ServiceLevelEventsGoodEventsArgs(
514
- from_="Metric",
515
- select=newrelic.ServiceLevelEventsGoodEventsSelectArgs(
516
- attribute="`query.wallClockTime.negative.distribution`",
517
- function="GET_CDF_COUNT",
518
- threshold=7,
519
- ),
520
- where="metricName = 'query.wallClockTime.negative.distribution'",
521
- ),
522
- valid_events=newrelic.ServiceLevelEventsValidEventsArgs(
523
- from_="Metric",
524
- select=newrelic.ServiceLevelEventsValidEventsSelectArgs(
525
- attribute="`query.wallClockTime.negative.distribution`",
526
- function="GET_FIELD",
527
- ),
528
- where="metricName = 'query.wallClockTime.negative.distribution'",
529
- ),
530
- ),
508
+ my_synthetic_monitor_duration_service_level = newrelic.ServiceLevel("my_synthetic_monitor_duration_service_level",
531
509
  guid="MXxBUE18QVBQTElDQVRJT058MQ",
532
- objective=newrelic.ServiceLevelObjectiveArgs(
533
- target=49,
534
- time_window=newrelic.ServiceLevelObjectiveTimeWindowArgs(
535
- rolling=newrelic.ServiceLevelObjectiveTimeWindowRollingArgs(
536
- count=7,
537
- unit="DAY",
538
- ),
539
- ),
540
- ))
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
+ })
541
541
  ```
542
- <!--End PulumiCodeChooser -->
543
542
 
544
543
  For up-to-date documentation about the tagging resource, please check EntityTags
545
544
 
@@ -573,10 +572,10 @@ class ServiceLevel(pulumi.CustomResource):
573
572
  resource_name: str,
574
573
  opts: Optional[pulumi.ResourceOptions] = None,
575
574
  description: Optional[pulumi.Input[str]] = None,
576
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
575
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
577
576
  guid: Optional[pulumi.Input[str]] = None,
578
577
  name: Optional[pulumi.Input[str]] = None,
579
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
578
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
580
579
  __props__=None):
581
580
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
582
581
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -610,10 +609,10 @@ class ServiceLevel(pulumi.CustomResource):
610
609
  id: pulumi.Input[str],
611
610
  opts: Optional[pulumi.ResourceOptions] = None,
612
611
  description: Optional[pulumi.Input[str]] = None,
613
- events: Optional[pulumi.Input[pulumi.InputType['ServiceLevelEventsArgs']]] = None,
612
+ events: Optional[pulumi.Input[Union['ServiceLevelEventsArgs', 'ServiceLevelEventsArgsDict']]] = None,
614
613
  guid: Optional[pulumi.Input[str]] = None,
615
614
  name: Optional[pulumi.Input[str]] = None,
616
- objective: Optional[pulumi.Input[pulumi.InputType['ServiceLevelObjectiveArgs']]] = None,
615
+ objective: Optional[pulumi.Input[Union['ServiceLevelObjectiveArgs', 'ServiceLevelObjectiveArgsDict']]] = None,
617
616
  sli_guid: Optional[pulumi.Input[str]] = None,
618
617
  sli_id: Optional[pulumi.Input[str]] = None) -> 'ServiceLevel':
619
618
  """
@@ -624,11 +623,11 @@ class ServiceLevel(pulumi.CustomResource):
624
623
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
625
624
  :param pulumi.ResourceOptions opts: Options for the resource.
626
625
  :param pulumi.Input[str] description: The description of the SLI.
627
- :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.
628
627
  See Events below for details.
629
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.
630
629
  :param pulumi.Input[str] name: A short name for the SLI that will help anyone understand what it is about.
631
- :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.
632
631
  See Objective below for details.
633
632
  :param pulumi.Input[str] sli_guid: The unique entity identifier of the Service Level Indicator in New Relic.
634
633
  :param pulumi.Input[str] sli_id: The unique entity identifier of the Service Level Indicator.