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 *
@@ -19,9 +24,11 @@ class ScriptMonitorArgs:
19
24
  period: pulumi.Input[str],
20
25
  status: pulumi.Input[str],
21
26
  type: pulumi.Input[str],
22
- account_id: Optional[pulumi.Input[int]] = None,
27
+ account_id: Optional[pulumi.Input[str]] = None,
28
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
29
  device_orientation: Optional[pulumi.Input[str]] = None,
24
30
  device_type: Optional[pulumi.Input[str]] = None,
31
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
25
32
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
26
33
  location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]]] = None,
27
34
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -30,38 +37,43 @@ class ScriptMonitorArgs:
30
37
  runtime_type_version: Optional[pulumi.Input[str]] = None,
31
38
  script: Optional[pulumi.Input[str]] = None,
32
39
  script_language: Optional[pulumi.Input[str]] = None,
33
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]]] = None):
40
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]]] = None,
41
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None):
34
42
  """
35
43
  The set of arguments for constructing a ScriptMonitor resource.
36
- :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
37
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
38
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
39
- refrain from using this value and shift to alternatives.
44
+ :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
45
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
40
46
  :param pulumi.Input[str] type: The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API
41
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
42
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
43
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
47
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
48
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
49
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
50
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
51
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
44
52
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
45
53
  :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
46
54
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**.
47
55
  :param pulumi.Input[str] name: The name for the monitor.
48
- :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs.
49
- :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected.
56
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
57
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
50
58
  :param pulumi.Input[str] script: The script that the monitor runs.
51
59
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
52
60
  :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
53
61
 
54
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
62
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
55
63
  """
56
64
  pulumi.set(__self__, "period", period)
57
65
  pulumi.set(__self__, "status", status)
58
66
  pulumi.set(__self__, "type", type)
59
67
  if account_id is not None:
60
68
  pulumi.set(__self__, "account_id", account_id)
69
+ if browsers is not None:
70
+ pulumi.set(__self__, "browsers", browsers)
61
71
  if device_orientation is not None:
62
72
  pulumi.set(__self__, "device_orientation", device_orientation)
63
73
  if device_type is not None:
64
74
  pulumi.set(__self__, "device_type", device_type)
75
+ if devices is not None:
76
+ pulumi.set(__self__, "devices", devices)
65
77
  if enable_screenshot_on_failure_and_script is not None:
66
78
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
67
79
  if location_privates is not None:
@@ -80,12 +92,14 @@ class ScriptMonitorArgs:
80
92
  pulumi.set(__self__, "script_language", script_language)
81
93
  if tags is not None:
82
94
  pulumi.set(__self__, "tags", tags)
95
+ if use_unsupported_legacy_runtime is not None:
96
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
83
97
 
84
98
  @property
85
99
  @pulumi.getter
86
100
  def period(self) -> pulumi.Input[str]:
87
101
  """
88
- The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
102
+ The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
89
103
  """
90
104
  return pulumi.get(self, "period")
91
105
 
@@ -97,9 +111,7 @@ class ScriptMonitorArgs:
97
111
  @pulumi.getter
98
112
  def status(self) -> pulumi.Input[str]:
99
113
  """
100
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
101
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
102
- refrain from using this value and shift to alternatives.
114
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
103
115
  """
104
116
  return pulumi.get(self, "status")
105
117
 
@@ -121,21 +133,33 @@ class ScriptMonitorArgs:
121
133
 
122
134
  @property
123
135
  @pulumi.getter(name="accountId")
124
- def account_id(self) -> Optional[pulumi.Input[int]]:
136
+ def account_id(self) -> Optional[pulumi.Input[str]]:
125
137
  """
126
138
  The account in which the Synthetics monitor will be created.
127
139
  """
128
140
  return pulumi.get(self, "account_id")
129
141
 
130
142
  @account_id.setter
131
- def account_id(self, value: Optional[pulumi.Input[int]]):
143
+ def account_id(self, value: Optional[pulumi.Input[str]]):
132
144
  pulumi.set(self, "account_id", value)
133
145
 
146
+ @property
147
+ @pulumi.getter
148
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
149
+ """
150
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
151
+ """
152
+ return pulumi.get(self, "browsers")
153
+
154
+ @browsers.setter
155
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
156
+ pulumi.set(self, "browsers", value)
157
+
134
158
  @property
135
159
  @pulumi.getter(name="deviceOrientation")
136
160
  def device_orientation(self) -> Optional[pulumi.Input[str]]:
137
161
  """
138
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
162
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
139
163
  """
140
164
  return pulumi.get(self, "device_orientation")
141
165
 
@@ -147,7 +171,7 @@ class ScriptMonitorArgs:
147
171
  @pulumi.getter(name="deviceType")
148
172
  def device_type(self) -> Optional[pulumi.Input[str]]:
149
173
  """
150
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
174
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
151
175
  """
152
176
  return pulumi.get(self, "device_type")
153
177
 
@@ -155,6 +179,18 @@ class ScriptMonitorArgs:
155
179
  def device_type(self, value: Optional[pulumi.Input[str]]):
156
180
  pulumi.set(self, "device_type", value)
157
181
 
182
+ @property
183
+ @pulumi.getter
184
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
185
+ """
186
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
187
+ """
188
+ return pulumi.get(self, "devices")
189
+
190
+ @devices.setter
191
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
192
+ pulumi.set(self, "devices", value)
193
+
158
194
  @property
159
195
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
160
196
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -207,7 +243,7 @@ class ScriptMonitorArgs:
207
243
  @pulumi.getter(name="runtimeType")
208
244
  def runtime_type(self) -> Optional[pulumi.Input[str]]:
209
245
  """
210
- The runtime that the monitor will use to run jobs.
246
+ The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
211
247
  """
212
248
  return pulumi.get(self, "runtime_type")
213
249
 
@@ -219,7 +255,7 @@ class ScriptMonitorArgs:
219
255
  @pulumi.getter(name="runtimeTypeVersion")
220
256
  def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
221
257
  """
222
- The specific version of the runtime type selected.
258
+ The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
223
259
  """
224
260
  return pulumi.get(self, "runtime_type_version")
225
261
 
@@ -257,7 +293,7 @@ class ScriptMonitorArgs:
257
293
  """
258
294
  The tags that will be associated with the monitor. See Nested tag blocks below for details.
259
295
 
260
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
296
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
261
297
  """
262
298
  return pulumi.get(self, "tags")
263
299
 
@@ -265,13 +301,24 @@ class ScriptMonitorArgs:
265
301
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]]]):
266
302
  pulumi.set(self, "tags", value)
267
303
 
304
+ @property
305
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
306
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
307
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
308
+
309
+ @use_unsupported_legacy_runtime.setter
310
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
311
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
312
+
268
313
 
269
314
  @pulumi.input_type
270
315
  class _ScriptMonitorState:
271
316
  def __init__(__self__, *,
272
- account_id: Optional[pulumi.Input[int]] = None,
317
+ account_id: Optional[pulumi.Input[str]] = None,
318
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
273
319
  device_orientation: Optional[pulumi.Input[str]] = None,
274
320
  device_type: Optional[pulumi.Input[str]] = None,
321
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
275
322
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
276
323
  guid: Optional[pulumi.Input[str]] = None,
277
324
  location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]]] = None,
@@ -285,37 +332,42 @@ class _ScriptMonitorState:
285
332
  script_language: Optional[pulumi.Input[str]] = None,
286
333
  status: Optional[pulumi.Input[str]] = None,
287
334
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]]] = None,
288
- type: Optional[pulumi.Input[str]] = None):
335
+ type: Optional[pulumi.Input[str]] = None,
336
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None):
289
337
  """
290
338
  Input properties used for looking up and filtering ScriptMonitor resources.
291
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
292
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
293
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
339
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
340
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
341
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
342
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
343
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
294
344
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
295
- :param pulumi.Input[str] guid: The unique identifier for the Synthetics private location in New Relic.
345
+ :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic.
296
346
  :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
297
347
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**.
298
348
  :param pulumi.Input[str] name: The name for the monitor.
299
- :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
349
+ :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
300
350
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
301
- :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs.
302
- :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected.
351
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
352
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
303
353
  :param pulumi.Input[str] script: The script that the monitor runs.
304
354
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
305
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
306
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
307
- refrain from using this value and shift to alternatives.
355
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
308
356
  :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
309
357
 
310
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
358
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
311
359
  :param pulumi.Input[str] type: The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API
312
360
  """
313
361
  if account_id is not None:
314
362
  pulumi.set(__self__, "account_id", account_id)
363
+ if browsers is not None:
364
+ pulumi.set(__self__, "browsers", browsers)
315
365
  if device_orientation is not None:
316
366
  pulumi.set(__self__, "device_orientation", device_orientation)
317
367
  if device_type is not None:
318
368
  pulumi.set(__self__, "device_type", device_type)
369
+ if devices is not None:
370
+ pulumi.set(__self__, "devices", devices)
319
371
  if enable_screenshot_on_failure_and_script is not None:
320
372
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
321
373
  if guid is not None:
@@ -344,24 +396,38 @@ class _ScriptMonitorState:
344
396
  pulumi.set(__self__, "tags", tags)
345
397
  if type is not None:
346
398
  pulumi.set(__self__, "type", type)
399
+ if use_unsupported_legacy_runtime is not None:
400
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
347
401
 
348
402
  @property
349
403
  @pulumi.getter(name="accountId")
350
- def account_id(self) -> Optional[pulumi.Input[int]]:
404
+ def account_id(self) -> Optional[pulumi.Input[str]]:
351
405
  """
352
406
  The account in which the Synthetics monitor will be created.
353
407
  """
354
408
  return pulumi.get(self, "account_id")
355
409
 
356
410
  @account_id.setter
357
- def account_id(self, value: Optional[pulumi.Input[int]]):
411
+ def account_id(self, value: Optional[pulumi.Input[str]]):
358
412
  pulumi.set(self, "account_id", value)
359
413
 
414
+ @property
415
+ @pulumi.getter
416
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
417
+ """
418
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
419
+ """
420
+ return pulumi.get(self, "browsers")
421
+
422
+ @browsers.setter
423
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
424
+ pulumi.set(self, "browsers", value)
425
+
360
426
  @property
361
427
  @pulumi.getter(name="deviceOrientation")
362
428
  def device_orientation(self) -> Optional[pulumi.Input[str]]:
363
429
  """
364
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
430
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
365
431
  """
366
432
  return pulumi.get(self, "device_orientation")
367
433
 
@@ -373,7 +439,7 @@ class _ScriptMonitorState:
373
439
  @pulumi.getter(name="deviceType")
374
440
  def device_type(self) -> Optional[pulumi.Input[str]]:
375
441
  """
376
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
442
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
377
443
  """
378
444
  return pulumi.get(self, "device_type")
379
445
 
@@ -381,6 +447,18 @@ class _ScriptMonitorState:
381
447
  def device_type(self, value: Optional[pulumi.Input[str]]):
382
448
  pulumi.set(self, "device_type", value)
383
449
 
450
+ @property
451
+ @pulumi.getter
452
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
453
+ """
454
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
455
+ """
456
+ return pulumi.get(self, "devices")
457
+
458
+ @devices.setter
459
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
460
+ pulumi.set(self, "devices", value)
461
+
384
462
  @property
385
463
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
386
464
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -397,7 +475,7 @@ class _ScriptMonitorState:
397
475
  @pulumi.getter
398
476
  def guid(self) -> Optional[pulumi.Input[str]]:
399
477
  """
400
- The unique identifier for the Synthetics private location in New Relic.
478
+ The unique entity identifier of the monitor in New Relic.
401
479
  """
402
480
  return pulumi.get(self, "guid")
403
481
 
@@ -445,7 +523,7 @@ class _ScriptMonitorState:
445
523
  @pulumi.getter
446
524
  def period(self) -> Optional[pulumi.Input[str]]:
447
525
  """
448
- The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
526
+ The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
449
527
  """
450
528
  return pulumi.get(self, "period")
451
529
 
@@ -469,7 +547,7 @@ class _ScriptMonitorState:
469
547
  @pulumi.getter(name="runtimeType")
470
548
  def runtime_type(self) -> Optional[pulumi.Input[str]]:
471
549
  """
472
- The runtime that the monitor will use to run jobs.
550
+ The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
473
551
  """
474
552
  return pulumi.get(self, "runtime_type")
475
553
 
@@ -481,7 +559,7 @@ class _ScriptMonitorState:
481
559
  @pulumi.getter(name="runtimeTypeVersion")
482
560
  def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
483
561
  """
484
- The specific version of the runtime type selected.
562
+ The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
485
563
  """
486
564
  return pulumi.get(self, "runtime_type_version")
487
565
 
@@ -517,9 +595,7 @@ class _ScriptMonitorState:
517
595
  @pulumi.getter
518
596
  def status(self) -> Optional[pulumi.Input[str]]:
519
597
  """
520
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
521
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
522
- refrain from using this value and shift to alternatives.
598
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
523
599
  """
524
600
  return pulumi.get(self, "status")
525
601
 
@@ -533,7 +609,7 @@ class _ScriptMonitorState:
533
609
  """
534
610
  The tags that will be associated with the monitor. See Nested tag blocks below for details.
535
611
 
536
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
612
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
537
613
  """
538
614
  return pulumi.get(self, "tags")
539
615
 
@@ -553,17 +629,28 @@ class _ScriptMonitorState:
553
629
  def type(self, value: Optional[pulumi.Input[str]]):
554
630
  pulumi.set(self, "type", value)
555
631
 
632
+ @property
633
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
634
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
635
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
636
+
637
+ @use_unsupported_legacy_runtime.setter
638
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
639
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
640
+
556
641
 
557
642
  class ScriptMonitor(pulumi.CustomResource):
558
643
  @overload
559
644
  def __init__(__self__,
560
645
  resource_name: str,
561
646
  opts: Optional[pulumi.ResourceOptions] = None,
562
- account_id: Optional[pulumi.Input[int]] = None,
647
+ account_id: Optional[pulumi.Input[str]] = None,
648
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
563
649
  device_orientation: Optional[pulumi.Input[str]] = None,
564
650
  device_type: Optional[pulumi.Input[str]] = None,
651
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
565
652
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
566
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorLocationPrivateArgs']]]]] = None,
653
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None,
567
654
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
568
655
  name: Optional[pulumi.Input[str]] = None,
569
656
  period: Optional[pulumi.Input[str]] = None,
@@ -572,12 +659,11 @@ class ScriptMonitor(pulumi.CustomResource):
572
659
  script: Optional[pulumi.Input[str]] = None,
573
660
  script_language: Optional[pulumi.Input[str]] = None,
574
661
  status: Optional[pulumi.Input[str]] = None,
575
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorTagArgs']]]]] = None,
662
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorTagArgs', 'ScriptMonitorTagArgsDict']]]]] = None,
576
663
  type: Optional[pulumi.Input[str]] = None,
664
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
577
665
  __props__=None):
578
666
  """
579
- Use this resource to create update, and delete a Script API or Script Browser Synthetics Monitor in New Relic.
580
-
581
667
  ## Example Usage
582
668
 
583
669
  ##### Type: `SCRIPT_API`
@@ -587,21 +673,22 @@ class ScriptMonitor(pulumi.CustomResource):
587
673
  import pulumi_newrelic as newrelic
588
674
 
589
675
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
676
+ status="ENABLED",
677
+ name="script_monitor",
678
+ type="SCRIPT_API",
590
679
  locations_publics=[
591
680
  "AP_SOUTH_1",
592
681
  "AP_EAST_1",
593
682
  ],
594
683
  period="EVERY_6_HOURS",
595
- runtime_type="NODE_API",
596
- runtime_type_version="16.10",
597
684
  script="console.log('it works!')",
598
685
  script_language="JAVASCRIPT",
599
- status="ENABLED",
600
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
601
- key="some_key",
602
- values=["some_value"],
603
- )],
604
- type="SCRIPT_API")
686
+ runtime_type="NODE_API",
687
+ runtime_type_version="16.10",
688
+ tags=[{
689
+ "key": "some_key",
690
+ "values": ["some_value"],
691
+ }])
605
692
  ```
606
693
  ##### Type: `SCRIPT_BROWSER`
607
694
 
@@ -610,24 +697,32 @@ class ScriptMonitor(pulumi.CustomResource):
610
697
  import pulumi_newrelic as newrelic
611
698
 
612
699
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
613
- enable_screenshot_on_failure_and_script=False,
700
+ status="ENABLED",
701
+ name="script_monitor",
702
+ type="SCRIPT_BROWSER",
614
703
  locations_publics=[
615
704
  "AP_SOUTH_1",
616
705
  "AP_EAST_1",
617
706
  ],
618
707
  period="EVERY_HOUR",
619
- runtime_type="CHROME_BROWSER",
620
- runtime_type_version="100",
621
708
  script="$browser.get('https://one.newrelic.com')",
709
+ runtime_type_version="100",
710
+ runtime_type="CHROME_BROWSER",
622
711
  script_language="JAVASCRIPT",
623
- status="ENABLED",
624
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
625
- key="some_key",
626
- values=["some_value"],
627
- )],
628
- type="SCRIPT_BROWSER")
712
+ devices=[
713
+ "DESKTOP",
714
+ "MOBILE_PORTRAIT",
715
+ "TABLET_LANDSCAPE",
716
+ ],
717
+ browsers=["CHROME"],
718
+ enable_screenshot_on_failure_and_script=False,
719
+ tags=[{
720
+ "key": "some_key",
721
+ "values": ["some_value"],
722
+ }])
629
723
  ```
630
724
  See additional examples.
725
+
631
726
  ## Additional Examples
632
727
 
633
728
  ### Create a monitor with a private location
@@ -644,23 +739,25 @@ class ScriptMonitor(pulumi.CustomResource):
644
739
 
645
740
  location = newrelic.synthetics.PrivateLocation("location",
646
741
  description="Example private location",
742
+ name="private_location",
647
743
  verified_script_execution=True)
648
744
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
649
745
  status="ENABLED",
746
+ name="script_monitor",
650
747
  type="SCRIPT_API",
651
- location_privates=[newrelic.synthetics.ScriptMonitorLocationPrivateArgs(
652
- guid=location.id,
653
- vse_password="secret",
654
- )],
748
+ location_privates=[{
749
+ "guid": location.id,
750
+ "vse_password": "secret",
751
+ }],
655
752
  period="EVERY_6_HOURS",
656
753
  script="console.log('terraform integration test updated')",
657
754
  script_language="JAVASCRIPT",
658
755
  runtime_type="NODE_API",
659
756
  runtime_type_version="16.10",
660
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
661
- key="some_key",
662
- values=["some_value"],
663
- )])
757
+ tags=[{
758
+ "key": "some_key",
759
+ "values": ["some_value"],
760
+ }])
664
761
  ```
665
762
  ##### Type: `SCRIPT_BROWSER`
666
763
 
@@ -670,31 +767,39 @@ class ScriptMonitor(pulumi.CustomResource):
670
767
 
671
768
  location = newrelic.synthetics.PrivateLocation("location",
672
769
  description="Test Description",
770
+ name="private_location",
673
771
  verified_script_execution=True)
674
772
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
675
773
  status="ENABLED",
774
+ name="script_monitor",
676
775
  type="SCRIPT_BROWSER",
677
776
  period="EVERY_HOUR",
678
777
  script="$browser.get('https://one.newrelic.com')",
679
- enable_screenshot_on_failure_and_script=False,
680
- location_privates=[newrelic.synthetics.ScriptMonitorLocationPrivateArgs(
681
- guid=location.id,
682
- vse_password="secret",
683
- )],
684
778
  runtime_type_version="100",
685
779
  runtime_type="CHROME_BROWSER",
686
780
  script_language="JAVASCRIPT",
687
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
688
- key="some_key",
689
- values=["some_value"],
690
- )])
781
+ devices=[
782
+ "DESKTOP",
783
+ "MOBILE_PORTRAIT",
784
+ "TABLET_LANDSCAPE",
785
+ ],
786
+ browsers=["CHROME"],
787
+ enable_screenshot_on_failure_and_script=False,
788
+ location_privates=[{
789
+ "guid": location.id,
790
+ "vse_password": "secret",
791
+ }],
792
+ tags=[{
793
+ "key": "some_key",
794
+ "values": ["some_value"],
795
+ }])
691
796
  ```
692
797
 
693
798
  ## Import
694
799
 
695
800
  Synthetics monitor scripts can be imported using the `guid`, e.g.
696
801
 
697
- bash
802
+ bash
698
803
 
699
804
  ```sh
700
805
  $ pulumi import newrelic:synthetics/scriptMonitor:ScriptMonitor monitor <guid>
@@ -702,24 +807,24 @@ class ScriptMonitor(pulumi.CustomResource):
702
807
 
703
808
  :param str resource_name: The name of the resource.
704
809
  :param pulumi.ResourceOptions opts: Options for the resource.
705
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
706
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
707
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
810
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
811
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
812
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
813
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
814
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
708
815
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
709
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorLocationPrivateArgs']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
816
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
710
817
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**.
711
818
  :param pulumi.Input[str] name: The name for the monitor.
712
- :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
713
- :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs.
714
- :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected.
819
+ :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
820
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
821
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
715
822
  :param pulumi.Input[str] script: The script that the monitor runs.
716
823
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
717
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
718
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
719
- refrain from using this value and shift to alternatives.
720
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
824
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
825
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorTagArgs', 'ScriptMonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
721
826
 
722
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
827
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
723
828
  :param pulumi.Input[str] type: The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API
724
829
  """
725
830
  ...
@@ -729,8 +834,6 @@ class ScriptMonitor(pulumi.CustomResource):
729
834
  args: ScriptMonitorArgs,
730
835
  opts: Optional[pulumi.ResourceOptions] = None):
731
836
  """
732
- Use this resource to create update, and delete a Script API or Script Browser Synthetics Monitor in New Relic.
733
-
734
837
  ## Example Usage
735
838
 
736
839
  ##### Type: `SCRIPT_API`
@@ -740,21 +843,22 @@ class ScriptMonitor(pulumi.CustomResource):
740
843
  import pulumi_newrelic as newrelic
741
844
 
742
845
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
846
+ status="ENABLED",
847
+ name="script_monitor",
848
+ type="SCRIPT_API",
743
849
  locations_publics=[
744
850
  "AP_SOUTH_1",
745
851
  "AP_EAST_1",
746
852
  ],
747
853
  period="EVERY_6_HOURS",
748
- runtime_type="NODE_API",
749
- runtime_type_version="16.10",
750
854
  script="console.log('it works!')",
751
855
  script_language="JAVASCRIPT",
752
- status="ENABLED",
753
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
754
- key="some_key",
755
- values=["some_value"],
756
- )],
757
- type="SCRIPT_API")
856
+ runtime_type="NODE_API",
857
+ runtime_type_version="16.10",
858
+ tags=[{
859
+ "key": "some_key",
860
+ "values": ["some_value"],
861
+ }])
758
862
  ```
759
863
  ##### Type: `SCRIPT_BROWSER`
760
864
 
@@ -763,24 +867,32 @@ class ScriptMonitor(pulumi.CustomResource):
763
867
  import pulumi_newrelic as newrelic
764
868
 
765
869
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
766
- enable_screenshot_on_failure_and_script=False,
870
+ status="ENABLED",
871
+ name="script_monitor",
872
+ type="SCRIPT_BROWSER",
767
873
  locations_publics=[
768
874
  "AP_SOUTH_1",
769
875
  "AP_EAST_1",
770
876
  ],
771
877
  period="EVERY_HOUR",
772
- runtime_type="CHROME_BROWSER",
773
- runtime_type_version="100",
774
878
  script="$browser.get('https://one.newrelic.com')",
879
+ runtime_type_version="100",
880
+ runtime_type="CHROME_BROWSER",
775
881
  script_language="JAVASCRIPT",
776
- status="ENABLED",
777
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
778
- key="some_key",
779
- values=["some_value"],
780
- )],
781
- type="SCRIPT_BROWSER")
882
+ devices=[
883
+ "DESKTOP",
884
+ "MOBILE_PORTRAIT",
885
+ "TABLET_LANDSCAPE",
886
+ ],
887
+ browsers=["CHROME"],
888
+ enable_screenshot_on_failure_and_script=False,
889
+ tags=[{
890
+ "key": "some_key",
891
+ "values": ["some_value"],
892
+ }])
782
893
  ```
783
894
  See additional examples.
895
+
784
896
  ## Additional Examples
785
897
 
786
898
  ### Create a monitor with a private location
@@ -797,23 +909,25 @@ class ScriptMonitor(pulumi.CustomResource):
797
909
 
798
910
  location = newrelic.synthetics.PrivateLocation("location",
799
911
  description="Example private location",
912
+ name="private_location",
800
913
  verified_script_execution=True)
801
914
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
802
915
  status="ENABLED",
916
+ name="script_monitor",
803
917
  type="SCRIPT_API",
804
- location_privates=[newrelic.synthetics.ScriptMonitorLocationPrivateArgs(
805
- guid=location.id,
806
- vse_password="secret",
807
- )],
918
+ location_privates=[{
919
+ "guid": location.id,
920
+ "vse_password": "secret",
921
+ }],
808
922
  period="EVERY_6_HOURS",
809
923
  script="console.log('terraform integration test updated')",
810
924
  script_language="JAVASCRIPT",
811
925
  runtime_type="NODE_API",
812
926
  runtime_type_version="16.10",
813
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
814
- key="some_key",
815
- values=["some_value"],
816
- )])
927
+ tags=[{
928
+ "key": "some_key",
929
+ "values": ["some_value"],
930
+ }])
817
931
  ```
818
932
  ##### Type: `SCRIPT_BROWSER`
819
933
 
@@ -823,31 +937,39 @@ class ScriptMonitor(pulumi.CustomResource):
823
937
 
824
938
  location = newrelic.synthetics.PrivateLocation("location",
825
939
  description="Test Description",
940
+ name="private_location",
826
941
  verified_script_execution=True)
827
942
  monitor = newrelic.synthetics.ScriptMonitor("monitor",
828
943
  status="ENABLED",
944
+ name="script_monitor",
829
945
  type="SCRIPT_BROWSER",
830
946
  period="EVERY_HOUR",
831
947
  script="$browser.get('https://one.newrelic.com')",
832
- enable_screenshot_on_failure_and_script=False,
833
- location_privates=[newrelic.synthetics.ScriptMonitorLocationPrivateArgs(
834
- guid=location.id,
835
- vse_password="secret",
836
- )],
837
948
  runtime_type_version="100",
838
949
  runtime_type="CHROME_BROWSER",
839
950
  script_language="JAVASCRIPT",
840
- tags=[newrelic.synthetics.ScriptMonitorTagArgs(
841
- key="some_key",
842
- values=["some_value"],
843
- )])
951
+ devices=[
952
+ "DESKTOP",
953
+ "MOBILE_PORTRAIT",
954
+ "TABLET_LANDSCAPE",
955
+ ],
956
+ browsers=["CHROME"],
957
+ enable_screenshot_on_failure_and_script=False,
958
+ location_privates=[{
959
+ "guid": location.id,
960
+ "vse_password": "secret",
961
+ }],
962
+ tags=[{
963
+ "key": "some_key",
964
+ "values": ["some_value"],
965
+ }])
844
966
  ```
845
967
 
846
968
  ## Import
847
969
 
848
970
  Synthetics monitor scripts can be imported using the `guid`, e.g.
849
971
 
850
- bash
972
+ bash
851
973
 
852
974
  ```sh
853
975
  $ pulumi import newrelic:synthetics/scriptMonitor:ScriptMonitor monitor <guid>
@@ -868,11 +990,13 @@ class ScriptMonitor(pulumi.CustomResource):
868
990
  def _internal_init(__self__,
869
991
  resource_name: str,
870
992
  opts: Optional[pulumi.ResourceOptions] = None,
871
- account_id: Optional[pulumi.Input[int]] = None,
993
+ account_id: Optional[pulumi.Input[str]] = None,
994
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
872
995
  device_orientation: Optional[pulumi.Input[str]] = None,
873
996
  device_type: Optional[pulumi.Input[str]] = None,
997
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
874
998
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
875
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorLocationPrivateArgs']]]]] = None,
999
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None,
876
1000
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
877
1001
  name: Optional[pulumi.Input[str]] = None,
878
1002
  period: Optional[pulumi.Input[str]] = None,
@@ -881,8 +1005,9 @@ class ScriptMonitor(pulumi.CustomResource):
881
1005
  script: Optional[pulumi.Input[str]] = None,
882
1006
  script_language: Optional[pulumi.Input[str]] = None,
883
1007
  status: Optional[pulumi.Input[str]] = None,
884
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorTagArgs']]]]] = None,
1008
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorTagArgs', 'ScriptMonitorTagArgsDict']]]]] = None,
885
1009
  type: Optional[pulumi.Input[str]] = None,
1010
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
886
1011
  __props__=None):
887
1012
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
888
1013
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -893,8 +1018,10 @@ class ScriptMonitor(pulumi.CustomResource):
893
1018
  __props__ = ScriptMonitorArgs.__new__(ScriptMonitorArgs)
894
1019
 
895
1020
  __props__.__dict__["account_id"] = account_id
1021
+ __props__.__dict__["browsers"] = browsers
896
1022
  __props__.__dict__["device_orientation"] = device_orientation
897
1023
  __props__.__dict__["device_type"] = device_type
1024
+ __props__.__dict__["devices"] = devices
898
1025
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
899
1026
  __props__.__dict__["location_privates"] = location_privates
900
1027
  __props__.__dict__["locations_publics"] = locations_publics
@@ -913,6 +1040,7 @@ class ScriptMonitor(pulumi.CustomResource):
913
1040
  if type is None and not opts.urn:
914
1041
  raise TypeError("Missing required property 'type'")
915
1042
  __props__.__dict__["type"] = type
1043
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
916
1044
  __props__.__dict__["guid"] = None
917
1045
  __props__.__dict__["period_in_minutes"] = None
918
1046
  super(ScriptMonitor, __self__).__init__(
@@ -925,12 +1053,14 @@ class ScriptMonitor(pulumi.CustomResource):
925
1053
  def get(resource_name: str,
926
1054
  id: pulumi.Input[str],
927
1055
  opts: Optional[pulumi.ResourceOptions] = None,
928
- account_id: Optional[pulumi.Input[int]] = None,
1056
+ account_id: Optional[pulumi.Input[str]] = None,
1057
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
929
1058
  device_orientation: Optional[pulumi.Input[str]] = None,
930
1059
  device_type: Optional[pulumi.Input[str]] = None,
1060
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
931
1061
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
932
1062
  guid: Optional[pulumi.Input[str]] = None,
933
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorLocationPrivateArgs']]]]] = None,
1063
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None,
934
1064
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
935
1065
  name: Optional[pulumi.Input[str]] = None,
936
1066
  period: Optional[pulumi.Input[str]] = None,
@@ -940,8 +1070,9 @@ class ScriptMonitor(pulumi.CustomResource):
940
1070
  script: Optional[pulumi.Input[str]] = None,
941
1071
  script_language: Optional[pulumi.Input[str]] = None,
942
1072
  status: Optional[pulumi.Input[str]] = None,
943
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorTagArgs']]]]] = None,
944
- type: Optional[pulumi.Input[str]] = None) -> 'ScriptMonitor':
1073
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorTagArgs', 'ScriptMonitorTagArgsDict']]]]] = None,
1074
+ type: Optional[pulumi.Input[str]] = None,
1075
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None) -> 'ScriptMonitor':
945
1076
  """
946
1077
  Get an existing ScriptMonitor resource's state with the given name, id, and optional extra
947
1078
  properties used to qualify the lookup.
@@ -949,26 +1080,26 @@ class ScriptMonitor(pulumi.CustomResource):
949
1080
  :param str resource_name: The unique name of the resulting resource.
950
1081
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
951
1082
  :param pulumi.ResourceOptions opts: Options for the resource.
952
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
953
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
954
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1083
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
1084
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
1085
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
1086
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
1087
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
955
1088
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
956
- :param pulumi.Input[str] guid: The unique identifier for the Synthetics private location in New Relic.
957
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorLocationPrivateArgs']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
1089
+ :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic.
1090
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**.
958
1091
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**.
959
1092
  :param pulumi.Input[str] name: The name for the monitor.
960
- :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
1093
+ :param pulumi.Input[str] period: The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
961
1094
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
962
- :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs.
963
- :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected.
1095
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
1096
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
964
1097
  :param pulumi.Input[str] script: The script that the monitor runs.
965
1098
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
966
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
967
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
968
- refrain from using this value and shift to alternatives.
969
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ScriptMonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
1099
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
1100
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorTagArgs', 'ScriptMonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
970
1101
 
971
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
1102
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
972
1103
  :param pulumi.Input[str] type: The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API
973
1104
  """
974
1105
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -976,8 +1107,10 @@ class ScriptMonitor(pulumi.CustomResource):
976
1107
  __props__ = _ScriptMonitorState.__new__(_ScriptMonitorState)
977
1108
 
978
1109
  __props__.__dict__["account_id"] = account_id
1110
+ __props__.__dict__["browsers"] = browsers
979
1111
  __props__.__dict__["device_orientation"] = device_orientation
980
1112
  __props__.__dict__["device_type"] = device_type
1113
+ __props__.__dict__["devices"] = devices
981
1114
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
982
1115
  __props__.__dict__["guid"] = guid
983
1116
  __props__.__dict__["location_privates"] = location_privates
@@ -992,21 +1125,30 @@ class ScriptMonitor(pulumi.CustomResource):
992
1125
  __props__.__dict__["status"] = status
993
1126
  __props__.__dict__["tags"] = tags
994
1127
  __props__.__dict__["type"] = type
1128
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
995
1129
  return ScriptMonitor(resource_name, opts=opts, __props__=__props__)
996
1130
 
997
1131
  @property
998
1132
  @pulumi.getter(name="accountId")
999
- def account_id(self) -> pulumi.Output[int]:
1133
+ def account_id(self) -> pulumi.Output[str]:
1000
1134
  """
1001
1135
  The account in which the Synthetics monitor will be created.
1002
1136
  """
1003
1137
  return pulumi.get(self, "account_id")
1004
1138
 
1139
+ @property
1140
+ @pulumi.getter
1141
+ def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]:
1142
+ """
1143
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
1144
+ """
1145
+ return pulumi.get(self, "browsers")
1146
+
1005
1147
  @property
1006
1148
  @pulumi.getter(name="deviceOrientation")
1007
1149
  def device_orientation(self) -> pulumi.Output[Optional[str]]:
1008
1150
  """
1009
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1151
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
1010
1152
  """
1011
1153
  return pulumi.get(self, "device_orientation")
1012
1154
 
@@ -1014,10 +1156,18 @@ class ScriptMonitor(pulumi.CustomResource):
1014
1156
  @pulumi.getter(name="deviceType")
1015
1157
  def device_type(self) -> pulumi.Output[Optional[str]]:
1016
1158
  """
1017
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1159
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.
1018
1160
  """
1019
1161
  return pulumi.get(self, "device_type")
1020
1162
 
1163
+ @property
1164
+ @pulumi.getter
1165
+ def devices(self) -> pulumi.Output[Optional[Sequence[str]]]:
1166
+ """
1167
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
1168
+ """
1169
+ return pulumi.get(self, "devices")
1170
+
1021
1171
  @property
1022
1172
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
1023
1173
  def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]:
@@ -1030,7 +1180,7 @@ class ScriptMonitor(pulumi.CustomResource):
1030
1180
  @pulumi.getter
1031
1181
  def guid(self) -> pulumi.Output[str]:
1032
1182
  """
1033
- The unique identifier for the Synthetics private location in New Relic.
1183
+ The unique entity identifier of the monitor in New Relic.
1034
1184
  """
1035
1185
  return pulumi.get(self, "guid")
1036
1186
 
@@ -1062,7 +1212,7 @@ class ScriptMonitor(pulumi.CustomResource):
1062
1212
  @pulumi.getter
1063
1213
  def period(self) -> pulumi.Output[str]:
1064
1214
  """
1065
- The interval at which this monitor should run. Valid values are EVERY_MINUTE, EVERY_5_MINUTES, EVERY_10_MINUTES, EVERY_15_MINUTES, EVERY_30_MINUTES, EVERY_HOUR, EVERY_6_HOURS, EVERY_12_HOURS, or EVERY_DAY.
1215
+ The interval at which this monitor should run. Valid values are `EVERY_MINUTE`, `EVERY_5_MINUTES`, `EVERY_10_MINUTES`, `EVERY_15_MINUTES`, `EVERY_30_MINUTES`, `EVERY_HOUR`, `EVERY_6_HOURS`, `EVERY_12_HOURS`, or `EVERY_DAY`.
1066
1216
  """
1067
1217
  return pulumi.get(self, "period")
1068
1218
 
@@ -1078,7 +1228,7 @@ class ScriptMonitor(pulumi.CustomResource):
1078
1228
  @pulumi.getter(name="runtimeType")
1079
1229
  def runtime_type(self) -> pulumi.Output[Optional[str]]:
1080
1230
  """
1081
- The runtime that the monitor will use to run jobs.
1231
+ The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`.
1082
1232
  """
1083
1233
  return pulumi.get(self, "runtime_type")
1084
1234
 
@@ -1086,7 +1236,7 @@ class ScriptMonitor(pulumi.CustomResource):
1086
1236
  @pulumi.getter(name="runtimeTypeVersion")
1087
1237
  def runtime_type_version(self) -> pulumi.Output[Optional[str]]:
1088
1238
  """
1089
- The specific version of the runtime type selected.
1239
+ The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, a valid value is `16.10`, which corresponds to the version of Node.js. For the `SCRIPT_BROWSER` monitor type, a valid value is `100`, which corresponds to the version of the Chrome browser.
1090
1240
  """
1091
1241
  return pulumi.get(self, "runtime_type_version")
1092
1242
 
@@ -1110,9 +1260,7 @@ class ScriptMonitor(pulumi.CustomResource):
1110
1260
  @pulumi.getter
1111
1261
  def status(self) -> pulumi.Output[str]:
1112
1262
  """
1113
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
1114
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
1115
- refrain from using this value and shift to alternatives.
1263
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
1116
1264
  """
1117
1265
  return pulumi.get(self, "status")
1118
1266
 
@@ -1122,7 +1270,7 @@ class ScriptMonitor(pulumi.CustomResource):
1122
1270
  """
1123
1271
  The tags that will be associated with the monitor. See Nested tag blocks below for details.
1124
1272
 
1125
- The `SCRIPTED_BROWSER` monitor type supports the following additional argument:
1273
+ The `SCRIPTED_BROWSER` monitor type supports the following additional arguments:
1126
1274
  """
1127
1275
  return pulumi.get(self, "tags")
1128
1276
 
@@ -1134,3 +1282,8 @@ class ScriptMonitor(pulumi.CustomResource):
1134
1282
  """
1135
1283
  return pulumi.get(self, "type")
1136
1284
 
1285
+ @property
1286
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
1287
+ def use_unsupported_legacy_runtime(self) -> pulumi.Output[Optional[bool]]:
1288
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
1289
+