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 *
@@ -18,11 +23,13 @@ class MonitorArgs:
18
23
  def __init__(__self__, *,
19
24
  status: pulumi.Input[str],
20
25
  type: pulumi.Input[str],
21
- account_id: Optional[pulumi.Input[int]] = None,
26
+ account_id: Optional[pulumi.Input[str]] = None,
27
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22
28
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
23
29
  custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]]] = None,
24
30
  device_orientation: Optional[pulumi.Input[str]] = None,
25
31
  device_type: Optional[pulumi.Input[str]] = None,
32
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
33
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
27
34
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
28
35
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -34,28 +41,31 @@ class MonitorArgs:
34
41
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['MonitorTagArgs']]]] = None,
35
42
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
36
43
  uri: Optional[pulumi.Input[str]] = None,
44
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
37
45
  validation_string: Optional[pulumi.Input[str]] = None,
38
46
  verify_ssl: Optional[pulumi.Input[bool]] = None):
39
47
  """
40
48
  The set of arguments for constructing a Monitor resource.
41
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
42
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
43
- refrain from using this value and shift to alternatives.
49
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
44
50
  :param pulumi.Input[str] type: The monitor type. Valid values are `SIMPLE` and `BROWSER`.
45
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
51
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
52
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
46
53
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
47
54
 
48
55
  The `BROWSER` monitor type supports the following additional arguments:
49
56
  :param pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
50
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
51
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
57
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
58
+ * 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.
59
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
60
+ * 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.
61
+ :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`.
52
62
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
53
63
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required.
54
- :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
64
+ :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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
55
65
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
56
- :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.
57
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
58
- :param pulumi.Input[str] runtime_type_version: The runtime type that the monitor will run.
66
+ :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`.
67
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
68
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected (`100`).
59
69
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
60
70
  :param pulumi.Input[Sequence[pulumi.Input['MonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
61
71
 
@@ -69,6 +79,8 @@ class MonitorArgs:
69
79
  pulumi.set(__self__, "type", type)
70
80
  if account_id is not None:
71
81
  pulumi.set(__self__, "account_id", account_id)
82
+ if browsers is not None:
83
+ pulumi.set(__self__, "browsers", browsers)
72
84
  if bypass_head_request is not None:
73
85
  pulumi.set(__self__, "bypass_head_request", bypass_head_request)
74
86
  if custom_headers is not None:
@@ -77,6 +89,8 @@ class MonitorArgs:
77
89
  pulumi.set(__self__, "device_orientation", device_orientation)
78
90
  if device_type is not None:
79
91
  pulumi.set(__self__, "device_type", device_type)
92
+ if devices is not None:
93
+ pulumi.set(__self__, "devices", devices)
80
94
  if enable_screenshot_on_failure_and_script is not None:
81
95
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
82
96
  if locations_privates is not None:
@@ -99,6 +113,8 @@ class MonitorArgs:
99
113
  pulumi.set(__self__, "treat_redirect_as_failure", treat_redirect_as_failure)
100
114
  if uri is not None:
101
115
  pulumi.set(__self__, "uri", uri)
116
+ if use_unsupported_legacy_runtime is not None:
117
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
102
118
  if validation_string is not None:
103
119
  pulumi.set(__self__, "validation_string", validation_string)
104
120
  if verify_ssl is not None:
@@ -108,9 +124,7 @@ class MonitorArgs:
108
124
  @pulumi.getter
109
125
  def status(self) -> pulumi.Input[str]:
110
126
  """
111
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
112
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
113
- refrain from using this value and shift to alternatives.
127
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
114
128
  """
115
129
  return pulumi.get(self, "status")
116
130
 
@@ -132,16 +146,28 @@ class MonitorArgs:
132
146
 
133
147
  @property
134
148
  @pulumi.getter(name="accountId")
135
- def account_id(self) -> Optional[pulumi.Input[int]]:
149
+ def account_id(self) -> Optional[pulumi.Input[str]]:
136
150
  """
137
151
  The account in which the Synthetics monitor will be created.
138
152
  """
139
153
  return pulumi.get(self, "account_id")
140
154
 
141
155
  @account_id.setter
142
- def account_id(self, value: Optional[pulumi.Input[int]]):
156
+ def account_id(self, value: Optional[pulumi.Input[str]]):
143
157
  pulumi.set(self, "account_id", value)
144
158
 
159
+ @property
160
+ @pulumi.getter
161
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
162
+ """
163
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
164
+ """
165
+ return pulumi.get(self, "browsers")
166
+
167
+ @browsers.setter
168
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
169
+ pulumi.set(self, "browsers", value)
170
+
145
171
  @property
146
172
  @pulumi.getter(name="bypassHeadRequest")
147
173
  def bypass_head_request(self) -> Optional[pulumi.Input[bool]]:
@@ -172,7 +198,8 @@ class MonitorArgs:
172
198
  @pulumi.getter(name="deviceOrientation")
173
199
  def device_orientation(self) -> Optional[pulumi.Input[str]]:
174
200
  """
175
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
201
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
202
+ * 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.
176
203
  """
177
204
  return pulumi.get(self, "device_orientation")
178
205
 
@@ -184,7 +211,8 @@ class MonitorArgs:
184
211
  @pulumi.getter(name="deviceType")
185
212
  def device_type(self) -> Optional[pulumi.Input[str]]:
186
213
  """
187
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
214
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`.
215
+ * 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.
188
216
  """
189
217
  return pulumi.get(self, "device_type")
190
218
 
@@ -192,6 +220,18 @@ class MonitorArgs:
192
220
  def device_type(self, value: Optional[pulumi.Input[str]]):
193
221
  pulumi.set(self, "device_type", value)
194
222
 
223
+ @property
224
+ @pulumi.getter
225
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
226
+ """
227
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
228
+ """
229
+ return pulumi.get(self, "devices")
230
+
231
+ @devices.setter
232
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
233
+ pulumi.set(self, "devices", value)
234
+
195
235
  @property
196
236
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
197
237
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -220,7 +260,7 @@ class MonitorArgs:
220
260
  @pulumi.getter(name="locationsPublics")
221
261
  def locations_publics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
222
262
  """
223
- The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
263
+ 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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
224
264
  """
225
265
  return pulumi.get(self, "locations_publics")
226
266
 
@@ -244,7 +284,7 @@ class MonitorArgs:
244
284
  @pulumi.getter
245
285
  def period(self) -> Optional[pulumi.Input[str]]:
246
286
  """
247
- 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.
287
+ 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`.
248
288
  """
249
289
  return pulumi.get(self, "period")
250
290
 
@@ -256,7 +296,7 @@ class MonitorArgs:
256
296
  @pulumi.getter(name="runtimeType")
257
297
  def runtime_type(self) -> Optional[pulumi.Input[str]]:
258
298
  """
259
- The runtime type that the monitor will run.
299
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
260
300
  """
261
301
  return pulumi.get(self, "runtime_type")
262
302
 
@@ -268,7 +308,7 @@ class MonitorArgs:
268
308
  @pulumi.getter(name="runtimeTypeVersion")
269
309
  def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
270
310
  """
271
- The runtime type that the monitor will run.
311
+ The specific version of the runtime type selected (`100`).
272
312
  """
273
313
  return pulumi.get(self, "runtime_type_version")
274
314
 
@@ -326,6 +366,15 @@ class MonitorArgs:
326
366
  def uri(self, value: Optional[pulumi.Input[str]]):
327
367
  pulumi.set(self, "uri", value)
328
368
 
369
+ @property
370
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
371
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
372
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
373
+
374
+ @use_unsupported_legacy_runtime.setter
375
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
376
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
377
+
329
378
  @property
330
379
  @pulumi.getter(name="validationString")
331
380
  def validation_string(self) -> Optional[pulumi.Input[str]]:
@@ -354,11 +403,13 @@ class MonitorArgs:
354
403
  @pulumi.input_type
355
404
  class _MonitorState:
356
405
  def __init__(__self__, *,
357
- account_id: Optional[pulumi.Input[int]] = None,
406
+ account_id: Optional[pulumi.Input[str]] = None,
407
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
358
408
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
359
409
  custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]]] = None,
360
410
  device_orientation: Optional[pulumi.Input[str]] = None,
361
411
  device_type: Optional[pulumi.Input[str]] = None,
412
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
362
413
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
363
414
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
364
415
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -373,29 +424,32 @@ class _MonitorState:
373
424
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
374
425
  type: Optional[pulumi.Input[str]] = None,
375
426
  uri: Optional[pulumi.Input[str]] = None,
427
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
376
428
  validation_string: Optional[pulumi.Input[str]] = None,
377
429
  verify_ssl: Optional[pulumi.Input[bool]] = None):
378
430
  """
379
431
  Input properties used for looking up and filtering Monitor resources.
380
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
432
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
433
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
381
434
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
382
435
 
383
436
  The `BROWSER` monitor type supports the following additional arguments:
384
437
  :param pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
385
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
386
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
438
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
439
+ * 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.
440
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
441
+ * 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.
442
+ :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`.
387
443
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
388
444
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required.
389
- :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
445
+ :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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
390
446
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
391
- :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.
447
+ :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`.
392
448
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
393
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
394
- :param pulumi.Input[str] runtime_type_version: The runtime type that the monitor will run.
449
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
450
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected (`100`).
395
451
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
396
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
397
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
398
- refrain from using this value and shift to alternatives.
452
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
399
453
  :param pulumi.Input[Sequence[pulumi.Input['MonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
400
454
 
401
455
  The `SIMPLE` monitor type supports the following additional arguments:
@@ -407,6 +461,8 @@ class _MonitorState:
407
461
  """
408
462
  if account_id is not None:
409
463
  pulumi.set(__self__, "account_id", account_id)
464
+ if browsers is not None:
465
+ pulumi.set(__self__, "browsers", browsers)
410
466
  if bypass_head_request is not None:
411
467
  pulumi.set(__self__, "bypass_head_request", bypass_head_request)
412
468
  if custom_headers is not None:
@@ -415,6 +471,8 @@ class _MonitorState:
415
471
  pulumi.set(__self__, "device_orientation", device_orientation)
416
472
  if device_type is not None:
417
473
  pulumi.set(__self__, "device_type", device_type)
474
+ if devices is not None:
475
+ pulumi.set(__self__, "devices", devices)
418
476
  if enable_screenshot_on_failure_and_script is not None:
419
477
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
420
478
  if locations_privates is not None:
@@ -443,6 +501,8 @@ class _MonitorState:
443
501
  pulumi.set(__self__, "type", type)
444
502
  if uri is not None:
445
503
  pulumi.set(__self__, "uri", uri)
504
+ if use_unsupported_legacy_runtime is not None:
505
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
446
506
  if validation_string is not None:
447
507
  pulumi.set(__self__, "validation_string", validation_string)
448
508
  if verify_ssl is not None:
@@ -450,16 +510,28 @@ class _MonitorState:
450
510
 
451
511
  @property
452
512
  @pulumi.getter(name="accountId")
453
- def account_id(self) -> Optional[pulumi.Input[int]]:
513
+ def account_id(self) -> Optional[pulumi.Input[str]]:
454
514
  """
455
515
  The account in which the Synthetics monitor will be created.
456
516
  """
457
517
  return pulumi.get(self, "account_id")
458
518
 
459
519
  @account_id.setter
460
- def account_id(self, value: Optional[pulumi.Input[int]]):
520
+ def account_id(self, value: Optional[pulumi.Input[str]]):
461
521
  pulumi.set(self, "account_id", value)
462
522
 
523
+ @property
524
+ @pulumi.getter
525
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
526
+ """
527
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
528
+ """
529
+ return pulumi.get(self, "browsers")
530
+
531
+ @browsers.setter
532
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
533
+ pulumi.set(self, "browsers", value)
534
+
463
535
  @property
464
536
  @pulumi.getter(name="bypassHeadRequest")
465
537
  def bypass_head_request(self) -> Optional[pulumi.Input[bool]]:
@@ -490,7 +562,8 @@ class _MonitorState:
490
562
  @pulumi.getter(name="deviceOrientation")
491
563
  def device_orientation(self) -> Optional[pulumi.Input[str]]:
492
564
  """
493
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
565
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
566
+ * 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.
494
567
  """
495
568
  return pulumi.get(self, "device_orientation")
496
569
 
@@ -502,7 +575,8 @@ class _MonitorState:
502
575
  @pulumi.getter(name="deviceType")
503
576
  def device_type(self) -> Optional[pulumi.Input[str]]:
504
577
  """
505
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
578
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`.
579
+ * 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.
506
580
  """
507
581
  return pulumi.get(self, "device_type")
508
582
 
@@ -510,6 +584,18 @@ class _MonitorState:
510
584
  def device_type(self, value: Optional[pulumi.Input[str]]):
511
585
  pulumi.set(self, "device_type", value)
512
586
 
587
+ @property
588
+ @pulumi.getter
589
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
590
+ """
591
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
592
+ """
593
+ return pulumi.get(self, "devices")
594
+
595
+ @devices.setter
596
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
597
+ pulumi.set(self, "devices", value)
598
+
513
599
  @property
514
600
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
515
601
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -538,7 +624,7 @@ class _MonitorState:
538
624
  @pulumi.getter(name="locationsPublics")
539
625
  def locations_publics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
540
626
  """
541
- The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
627
+ 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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
542
628
  """
543
629
  return pulumi.get(self, "locations_publics")
544
630
 
@@ -562,7 +648,7 @@ class _MonitorState:
562
648
  @pulumi.getter
563
649
  def period(self) -> Optional[pulumi.Input[str]]:
564
650
  """
565
- 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.
651
+ 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`.
566
652
  """
567
653
  return pulumi.get(self, "period")
568
654
 
@@ -586,7 +672,7 @@ class _MonitorState:
586
672
  @pulumi.getter(name="runtimeType")
587
673
  def runtime_type(self) -> Optional[pulumi.Input[str]]:
588
674
  """
589
- The runtime type that the monitor will run.
675
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
590
676
  """
591
677
  return pulumi.get(self, "runtime_type")
592
678
 
@@ -598,7 +684,7 @@ class _MonitorState:
598
684
  @pulumi.getter(name="runtimeTypeVersion")
599
685
  def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
600
686
  """
601
- The runtime type that the monitor will run.
687
+ The specific version of the runtime type selected (`100`).
602
688
  """
603
689
  return pulumi.get(self, "runtime_type_version")
604
690
 
@@ -622,9 +708,7 @@ class _MonitorState:
622
708
  @pulumi.getter
623
709
  def status(self) -> Optional[pulumi.Input[str]]:
624
710
  """
625
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
626
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
627
- refrain from using this value and shift to alternatives.
711
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
628
712
  """
629
713
  return pulumi.get(self, "status")
630
714
 
@@ -682,6 +766,15 @@ class _MonitorState:
682
766
  def uri(self, value: Optional[pulumi.Input[str]]):
683
767
  pulumi.set(self, "uri", value)
684
768
 
769
+ @property
770
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
771
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
772
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
773
+
774
+ @use_unsupported_legacy_runtime.setter
775
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
776
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
777
+
685
778
  @property
686
779
  @pulumi.getter(name="validationString")
687
780
  def validation_string(self) -> Optional[pulumi.Input[str]]:
@@ -712,11 +805,13 @@ class Monitor(pulumi.CustomResource):
712
805
  def __init__(__self__,
713
806
  resource_name: str,
714
807
  opts: Optional[pulumi.ResourceOptions] = None,
715
- account_id: Optional[pulumi.Input[int]] = None,
808
+ account_id: Optional[pulumi.Input[str]] = None,
809
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
716
810
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
717
- custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorCustomHeaderArgs']]]]] = None,
811
+ custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None,
718
812
  device_orientation: Optional[pulumi.Input[str]] = None,
719
813
  device_type: Optional[pulumi.Input[str]] = None,
814
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
720
815
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
721
816
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
722
817
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -726,16 +821,15 @@ class Monitor(pulumi.CustomResource):
726
821
  runtime_type_version: Optional[pulumi.Input[str]] = None,
727
822
  script_language: Optional[pulumi.Input[str]] = None,
728
823
  status: Optional[pulumi.Input[str]] = None,
729
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]]] = None,
824
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]]] = None,
730
825
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
731
826
  type: Optional[pulumi.Input[str]] = None,
732
827
  uri: Optional[pulumi.Input[str]] = None,
828
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
733
829
  validation_string: Optional[pulumi.Input[str]] = None,
734
830
  verify_ssl: Optional[pulumi.Input[bool]] = None,
735
831
  __props__=None):
736
832
  """
737
- Use this resource to create, update, and delete a Simple or Browser Synthetics Monitor in New Relic.
738
-
739
833
  ## Example Usage
740
834
 
741
835
  ```python
@@ -743,23 +837,24 @@ class Monitor(pulumi.CustomResource):
743
837
  import pulumi_newrelic as newrelic
744
838
 
745
839
  monitor = newrelic.synthetics.Monitor("monitor",
746
- bypass_head_request=True,
747
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
748
- name="some_name",
749
- value="some_value",
750
- )],
751
- locations_publics=["AP_SOUTH_1"],
752
- period="EVERY_MINUTE",
753
840
  status="ENABLED",
754
- tags=[newrelic.synthetics.MonitorTagArgs(
755
- key="some_key",
756
- values=["some_value"],
757
- )],
758
- treat_redirect_as_failure=True,
759
- type="SIMPLE",
841
+ name="monitor",
842
+ period="EVERY_MINUTE",
760
843
  uri="https://www.one.newrelic.com",
844
+ type="SIMPLE",
845
+ locations_publics=["AP_SOUTH_1"],
846
+ custom_headers=[{
847
+ "name": "some_name",
848
+ "value": "some_value",
849
+ }],
850
+ treat_redirect_as_failure=True,
761
851
  validation_string="success",
762
- verify_ssl=True)
852
+ bypass_head_request=True,
853
+ verify_ssl=True,
854
+ tags=[{
855
+ "key": "some_key",
856
+ "values": ["some_value"],
857
+ }])
763
858
  ```
764
859
  ##### Type: `SIMPLE BROWSER`
765
860
 
@@ -768,24 +863,35 @@ class Monitor(pulumi.CustomResource):
768
863
  import pulumi_newrelic as newrelic
769
864
 
770
865
  monitor = newrelic.synthetics.Monitor("monitor",
771
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
772
- name="some_name",
773
- value="some_value",
774
- )],
775
- enable_screenshot_on_failure_and_script=True,
776
- locations_publics=["AP_SOUTH_1"],
777
- period="EVERY_MINUTE",
778
866
  status="ENABLED",
779
- tags=[newrelic.synthetics.MonitorTagArgs(
780
- key="some_key",
781
- values=["some_value"],
782
- )],
783
- type="BROWSER",
867
+ name="monitor",
868
+ period="EVERY_MINUTE",
784
869
  uri="https://www.one.newrelic.com",
870
+ type="BROWSER",
871
+ locations_publics=["AP_SOUTH_1"],
872
+ enable_screenshot_on_failure_and_script=True,
785
873
  validation_string="success",
786
- verify_ssl=True)
874
+ verify_ssl=True,
875
+ runtime_type="CHROME_BROWSER",
876
+ runtime_type_version="100",
877
+ script_language="JAVASCRIPT",
878
+ devices=[
879
+ "DESKTOP",
880
+ "TABLET_LANDSCAPE",
881
+ "MOBILE_PORTRAIT",
882
+ ],
883
+ browsers=["CHROME"],
884
+ custom_headers=[{
885
+ "name": "some_name",
886
+ "value": "some_value",
887
+ }],
888
+ tags=[{
889
+ "key": "some_key",
890
+ "values": ["some_value"],
891
+ }])
787
892
  ```
788
893
  See additional examples.
894
+
789
895
  ## Additional Examples
790
896
 
791
897
  ### Create a monitor with a private location
@@ -802,25 +908,27 @@ class Monitor(pulumi.CustomResource):
802
908
 
803
909
  location = newrelic.synthetics.PrivateLocation("location",
804
910
  description="Example private location",
911
+ name="private_location",
805
912
  verified_script_execution=False)
806
913
  monitor = newrelic.synthetics.Monitor("monitor",
807
914
  status="ENABLED",
915
+ name="monitor",
808
916
  period="EVERY_MINUTE",
809
917
  uri="https://www.one.newrelic.com",
810
918
  type="SIMPLE",
811
919
  locations_privates=[location.id],
812
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
813
- name="some_name",
814
- value="some_value",
815
- )],
920
+ custom_headers=[{
921
+ "name": "some_name",
922
+ "value": "some_value",
923
+ }],
816
924
  treat_redirect_as_failure=True,
817
925
  validation_string="success",
818
926
  bypass_head_request=True,
819
927
  verify_ssl=True,
820
- tags=[newrelic.synthetics.MonitorTagArgs(
821
- key="some_key",
822
- values=["some_value"],
823
- )])
928
+ tags=[{
929
+ "key": "some_key",
930
+ "values": ["some_value"],
931
+ }])
824
932
  ```
825
933
  ##### Type: `BROWSER`
826
934
 
@@ -830,34 +938,42 @@ class Monitor(pulumi.CustomResource):
830
938
 
831
939
  location = newrelic.synthetics.PrivateLocation("location",
832
940
  description="Example private location",
941
+ name="private-location",
833
942
  verified_script_execution=False)
834
943
  monitor = newrelic.synthetics.Monitor("monitor",
835
944
  status="ENABLED",
836
945
  type="BROWSER",
837
946
  uri="https://www.one.newrelic.com",
947
+ name="monitor",
838
948
  period="EVERY_MINUTE",
839
949
  locations_privates=[location.id],
840
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
841
- name="some_name",
842
- value="some_value",
843
- )],
844
950
  enable_screenshot_on_failure_and_script=True,
845
951
  validation_string="success",
846
952
  verify_ssl=True,
847
953
  runtime_type_version="100",
848
954
  runtime_type="CHROME_BROWSER",
849
955
  script_language="JAVASCRIPT",
850
- tags=[newrelic.synthetics.MonitorTagArgs(
851
- key="some_key",
852
- values=["some_value"],
853
- )])
956
+ devices=[
957
+ "DESKTOP",
958
+ "TABLET_LANDSCAPE",
959
+ "MOBILE_PORTRAIT",
960
+ ],
961
+ browsers=["CHROME"],
962
+ custom_headers=[{
963
+ "name": "some_name",
964
+ "value": "some_value",
965
+ }],
966
+ tags=[{
967
+ "key": "some_key",
968
+ "values": ["some_value"],
969
+ }])
854
970
  ```
855
971
 
856
972
  ## Import
857
973
 
858
974
  Synthetics monitor can be imported using the `guid`, e.g.
859
975
 
860
- bash
976
+ bash
861
977
 
862
978
  ```sh
863
979
  $ pulumi import newrelic:synthetics/monitor:Monitor monitor <guid>
@@ -865,25 +981,27 @@ class Monitor(pulumi.CustomResource):
865
981
 
866
982
  :param str resource_name: The name of the resource.
867
983
  :param pulumi.ResourceOptions opts: Options for the resource.
868
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
984
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
985
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
869
986
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
870
987
 
871
988
  The `BROWSER` monitor type supports the following additional arguments:
872
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorCustomHeaderArgs']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
873
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
874
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
989
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
990
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
991
+ * 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.
992
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
993
+ * 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.
994
+ :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`.
875
995
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
876
996
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required.
877
- :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
997
+ :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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
878
998
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
879
- :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.
880
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
881
- :param pulumi.Input[str] runtime_type_version: The runtime type that the monitor will run.
999
+ :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`.
1000
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
1001
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected (`100`).
882
1002
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
883
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
884
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
885
- refrain from using this value and shift to alternatives.
886
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
1003
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
1004
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
887
1005
 
888
1006
  The `SIMPLE` monitor type supports the following additional arguments:
889
1007
  :param pulumi.Input[bool] treat_redirect_as_failure: Categorize redirects during a monitor job as a failure.
@@ -899,8 +1017,6 @@ class Monitor(pulumi.CustomResource):
899
1017
  args: MonitorArgs,
900
1018
  opts: Optional[pulumi.ResourceOptions] = None):
901
1019
  """
902
- Use this resource to create, update, and delete a Simple or Browser Synthetics Monitor in New Relic.
903
-
904
1020
  ## Example Usage
905
1021
 
906
1022
  ```python
@@ -908,23 +1024,24 @@ class Monitor(pulumi.CustomResource):
908
1024
  import pulumi_newrelic as newrelic
909
1025
 
910
1026
  monitor = newrelic.synthetics.Monitor("monitor",
911
- bypass_head_request=True,
912
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
913
- name="some_name",
914
- value="some_value",
915
- )],
916
- locations_publics=["AP_SOUTH_1"],
917
- period="EVERY_MINUTE",
918
1027
  status="ENABLED",
919
- tags=[newrelic.synthetics.MonitorTagArgs(
920
- key="some_key",
921
- values=["some_value"],
922
- )],
923
- treat_redirect_as_failure=True,
924
- type="SIMPLE",
1028
+ name="monitor",
1029
+ period="EVERY_MINUTE",
925
1030
  uri="https://www.one.newrelic.com",
1031
+ type="SIMPLE",
1032
+ locations_publics=["AP_SOUTH_1"],
1033
+ custom_headers=[{
1034
+ "name": "some_name",
1035
+ "value": "some_value",
1036
+ }],
1037
+ treat_redirect_as_failure=True,
926
1038
  validation_string="success",
927
- verify_ssl=True)
1039
+ bypass_head_request=True,
1040
+ verify_ssl=True,
1041
+ tags=[{
1042
+ "key": "some_key",
1043
+ "values": ["some_value"],
1044
+ }])
928
1045
  ```
929
1046
  ##### Type: `SIMPLE BROWSER`
930
1047
 
@@ -933,24 +1050,35 @@ class Monitor(pulumi.CustomResource):
933
1050
  import pulumi_newrelic as newrelic
934
1051
 
935
1052
  monitor = newrelic.synthetics.Monitor("monitor",
936
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
937
- name="some_name",
938
- value="some_value",
939
- )],
940
- enable_screenshot_on_failure_and_script=True,
941
- locations_publics=["AP_SOUTH_1"],
942
- period="EVERY_MINUTE",
943
1053
  status="ENABLED",
944
- tags=[newrelic.synthetics.MonitorTagArgs(
945
- key="some_key",
946
- values=["some_value"],
947
- )],
948
- type="BROWSER",
1054
+ name="monitor",
1055
+ period="EVERY_MINUTE",
949
1056
  uri="https://www.one.newrelic.com",
1057
+ type="BROWSER",
1058
+ locations_publics=["AP_SOUTH_1"],
1059
+ enable_screenshot_on_failure_and_script=True,
950
1060
  validation_string="success",
951
- verify_ssl=True)
1061
+ verify_ssl=True,
1062
+ runtime_type="CHROME_BROWSER",
1063
+ runtime_type_version="100",
1064
+ script_language="JAVASCRIPT",
1065
+ devices=[
1066
+ "DESKTOP",
1067
+ "TABLET_LANDSCAPE",
1068
+ "MOBILE_PORTRAIT",
1069
+ ],
1070
+ browsers=["CHROME"],
1071
+ custom_headers=[{
1072
+ "name": "some_name",
1073
+ "value": "some_value",
1074
+ }],
1075
+ tags=[{
1076
+ "key": "some_key",
1077
+ "values": ["some_value"],
1078
+ }])
952
1079
  ```
953
1080
  See additional examples.
1081
+
954
1082
  ## Additional Examples
955
1083
 
956
1084
  ### Create a monitor with a private location
@@ -967,25 +1095,27 @@ class Monitor(pulumi.CustomResource):
967
1095
 
968
1096
  location = newrelic.synthetics.PrivateLocation("location",
969
1097
  description="Example private location",
1098
+ name="private_location",
970
1099
  verified_script_execution=False)
971
1100
  monitor = newrelic.synthetics.Monitor("monitor",
972
1101
  status="ENABLED",
1102
+ name="monitor",
973
1103
  period="EVERY_MINUTE",
974
1104
  uri="https://www.one.newrelic.com",
975
1105
  type="SIMPLE",
976
1106
  locations_privates=[location.id],
977
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
978
- name="some_name",
979
- value="some_value",
980
- )],
1107
+ custom_headers=[{
1108
+ "name": "some_name",
1109
+ "value": "some_value",
1110
+ }],
981
1111
  treat_redirect_as_failure=True,
982
1112
  validation_string="success",
983
1113
  bypass_head_request=True,
984
1114
  verify_ssl=True,
985
- tags=[newrelic.synthetics.MonitorTagArgs(
986
- key="some_key",
987
- values=["some_value"],
988
- )])
1115
+ tags=[{
1116
+ "key": "some_key",
1117
+ "values": ["some_value"],
1118
+ }])
989
1119
  ```
990
1120
  ##### Type: `BROWSER`
991
1121
 
@@ -995,34 +1125,42 @@ class Monitor(pulumi.CustomResource):
995
1125
 
996
1126
  location = newrelic.synthetics.PrivateLocation("location",
997
1127
  description="Example private location",
1128
+ name="private-location",
998
1129
  verified_script_execution=False)
999
1130
  monitor = newrelic.synthetics.Monitor("monitor",
1000
1131
  status="ENABLED",
1001
1132
  type="BROWSER",
1002
1133
  uri="https://www.one.newrelic.com",
1134
+ name="monitor",
1003
1135
  period="EVERY_MINUTE",
1004
1136
  locations_privates=[location.id],
1005
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
1006
- name="some_name",
1007
- value="some_value",
1008
- )],
1009
1137
  enable_screenshot_on_failure_and_script=True,
1010
1138
  validation_string="success",
1011
1139
  verify_ssl=True,
1012
1140
  runtime_type_version="100",
1013
1141
  runtime_type="CHROME_BROWSER",
1014
1142
  script_language="JAVASCRIPT",
1015
- tags=[newrelic.synthetics.MonitorTagArgs(
1016
- key="some_key",
1017
- values=["some_value"],
1018
- )])
1143
+ devices=[
1144
+ "DESKTOP",
1145
+ "TABLET_LANDSCAPE",
1146
+ "MOBILE_PORTRAIT",
1147
+ ],
1148
+ browsers=["CHROME"],
1149
+ custom_headers=[{
1150
+ "name": "some_name",
1151
+ "value": "some_value",
1152
+ }],
1153
+ tags=[{
1154
+ "key": "some_key",
1155
+ "values": ["some_value"],
1156
+ }])
1019
1157
  ```
1020
1158
 
1021
1159
  ## Import
1022
1160
 
1023
1161
  Synthetics monitor can be imported using the `guid`, e.g.
1024
1162
 
1025
- bash
1163
+ bash
1026
1164
 
1027
1165
  ```sh
1028
1166
  $ pulumi import newrelic:synthetics/monitor:Monitor monitor <guid>
@@ -1043,11 +1181,13 @@ class Monitor(pulumi.CustomResource):
1043
1181
  def _internal_init(__self__,
1044
1182
  resource_name: str,
1045
1183
  opts: Optional[pulumi.ResourceOptions] = None,
1046
- account_id: Optional[pulumi.Input[int]] = None,
1184
+ account_id: Optional[pulumi.Input[str]] = None,
1185
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1047
1186
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
1048
- custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorCustomHeaderArgs']]]]] = None,
1187
+ custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None,
1049
1188
  device_orientation: Optional[pulumi.Input[str]] = None,
1050
1189
  device_type: Optional[pulumi.Input[str]] = None,
1190
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1051
1191
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
1052
1192
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1053
1193
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1057,10 +1197,11 @@ class Monitor(pulumi.CustomResource):
1057
1197
  runtime_type_version: Optional[pulumi.Input[str]] = None,
1058
1198
  script_language: Optional[pulumi.Input[str]] = None,
1059
1199
  status: Optional[pulumi.Input[str]] = None,
1060
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]]] = None,
1200
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]]] = None,
1061
1201
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
1062
1202
  type: Optional[pulumi.Input[str]] = None,
1063
1203
  uri: Optional[pulumi.Input[str]] = None,
1204
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
1064
1205
  validation_string: Optional[pulumi.Input[str]] = None,
1065
1206
  verify_ssl: Optional[pulumi.Input[bool]] = None,
1066
1207
  __props__=None):
@@ -1073,10 +1214,12 @@ class Monitor(pulumi.CustomResource):
1073
1214
  __props__ = MonitorArgs.__new__(MonitorArgs)
1074
1215
 
1075
1216
  __props__.__dict__["account_id"] = account_id
1217
+ __props__.__dict__["browsers"] = browsers
1076
1218
  __props__.__dict__["bypass_head_request"] = bypass_head_request
1077
1219
  __props__.__dict__["custom_headers"] = custom_headers
1078
1220
  __props__.__dict__["device_orientation"] = device_orientation
1079
1221
  __props__.__dict__["device_type"] = device_type
1222
+ __props__.__dict__["devices"] = devices
1080
1223
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
1081
1224
  __props__.__dict__["locations_privates"] = locations_privates
1082
1225
  __props__.__dict__["locations_publics"] = locations_publics
@@ -1094,6 +1237,7 @@ class Monitor(pulumi.CustomResource):
1094
1237
  raise TypeError("Missing required property 'type'")
1095
1238
  __props__.__dict__["type"] = type
1096
1239
  __props__.__dict__["uri"] = uri
1240
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
1097
1241
  __props__.__dict__["validation_string"] = validation_string
1098
1242
  __props__.__dict__["verify_ssl"] = verify_ssl
1099
1243
  __props__.__dict__["period_in_minutes"] = None
@@ -1107,11 +1251,13 @@ class Monitor(pulumi.CustomResource):
1107
1251
  def get(resource_name: str,
1108
1252
  id: pulumi.Input[str],
1109
1253
  opts: Optional[pulumi.ResourceOptions] = None,
1110
- account_id: Optional[pulumi.Input[int]] = None,
1254
+ account_id: Optional[pulumi.Input[str]] = None,
1255
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1111
1256
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
1112
- custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorCustomHeaderArgs']]]]] = None,
1257
+ custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None,
1113
1258
  device_orientation: Optional[pulumi.Input[str]] = None,
1114
1259
  device_type: Optional[pulumi.Input[str]] = None,
1260
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1115
1261
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
1116
1262
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1117
1263
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1122,10 +1268,11 @@ class Monitor(pulumi.CustomResource):
1122
1268
  runtime_type_version: Optional[pulumi.Input[str]] = None,
1123
1269
  script_language: Optional[pulumi.Input[str]] = None,
1124
1270
  status: Optional[pulumi.Input[str]] = None,
1125
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]]] = None,
1271
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]]] = None,
1126
1272
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
1127
1273
  type: Optional[pulumi.Input[str]] = None,
1128
1274
  uri: Optional[pulumi.Input[str]] = None,
1275
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
1129
1276
  validation_string: Optional[pulumi.Input[str]] = None,
1130
1277
  verify_ssl: Optional[pulumi.Input[bool]] = None) -> 'Monitor':
1131
1278
  """
@@ -1135,26 +1282,28 @@ class Monitor(pulumi.CustomResource):
1135
1282
  :param str resource_name: The unique name of the resulting resource.
1136
1283
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1137
1284
  :param pulumi.ResourceOptions opts: Options for the resource.
1138
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
1285
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
1286
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
1139
1287
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
1140
1288
 
1141
1289
  The `BROWSER` monitor type supports the following additional arguments:
1142
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorCustomHeaderArgs']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
1143
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1144
- :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1290
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details.
1291
+ :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1292
+ * 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.
1293
+ :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1294
+ * 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.
1295
+ :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`.
1145
1296
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
1146
1297
  :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required.
1147
- :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_publics: The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
1298
+ :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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
1148
1299
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
1149
- :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.
1300
+ :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`.
1150
1301
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
1151
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
1152
- :param pulumi.Input[str] runtime_type_version: The runtime type that the monitor will run.
1302
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
1303
+ :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected (`100`).
1153
1304
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
1154
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
1155
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
1156
- refrain from using this value and shift to alternatives.
1157
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
1305
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
1306
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
1158
1307
 
1159
1308
  The `SIMPLE` monitor type supports the following additional arguments:
1160
1309
  :param pulumi.Input[bool] treat_redirect_as_failure: Categorize redirects during a monitor job as a failure.
@@ -1168,10 +1317,12 @@ class Monitor(pulumi.CustomResource):
1168
1317
  __props__ = _MonitorState.__new__(_MonitorState)
1169
1318
 
1170
1319
  __props__.__dict__["account_id"] = account_id
1320
+ __props__.__dict__["browsers"] = browsers
1171
1321
  __props__.__dict__["bypass_head_request"] = bypass_head_request
1172
1322
  __props__.__dict__["custom_headers"] = custom_headers
1173
1323
  __props__.__dict__["device_orientation"] = device_orientation
1174
1324
  __props__.__dict__["device_type"] = device_type
1325
+ __props__.__dict__["devices"] = devices
1175
1326
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
1176
1327
  __props__.__dict__["locations_privates"] = locations_privates
1177
1328
  __props__.__dict__["locations_publics"] = locations_publics
@@ -1186,18 +1337,27 @@ class Monitor(pulumi.CustomResource):
1186
1337
  __props__.__dict__["treat_redirect_as_failure"] = treat_redirect_as_failure
1187
1338
  __props__.__dict__["type"] = type
1188
1339
  __props__.__dict__["uri"] = uri
1340
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
1189
1341
  __props__.__dict__["validation_string"] = validation_string
1190
1342
  __props__.__dict__["verify_ssl"] = verify_ssl
1191
1343
  return Monitor(resource_name, opts=opts, __props__=__props__)
1192
1344
 
1193
1345
  @property
1194
1346
  @pulumi.getter(name="accountId")
1195
- def account_id(self) -> pulumi.Output[int]:
1347
+ def account_id(self) -> pulumi.Output[str]:
1196
1348
  """
1197
1349
  The account in which the Synthetics monitor will be created.
1198
1350
  """
1199
1351
  return pulumi.get(self, "account_id")
1200
1352
 
1353
+ @property
1354
+ @pulumi.getter
1355
+ def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]:
1356
+ """
1357
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
1358
+ """
1359
+ return pulumi.get(self, "browsers")
1360
+
1201
1361
  @property
1202
1362
  @pulumi.getter(name="bypassHeadRequest")
1203
1363
  def bypass_head_request(self) -> pulumi.Output[Optional[bool]]:
@@ -1220,7 +1380,8 @@ class Monitor(pulumi.CustomResource):
1220
1380
  @pulumi.getter(name="deviceOrientation")
1221
1381
  def device_orientation(self) -> pulumi.Output[Optional[str]]:
1222
1382
  """
1223
- Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1383
+ Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1384
+ * 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.
1224
1385
  """
1225
1386
  return pulumi.get(self, "device_orientation")
1226
1387
 
@@ -1228,10 +1389,19 @@ class Monitor(pulumi.CustomResource):
1228
1389
  @pulumi.getter(name="deviceType")
1229
1390
  def device_type(self) -> pulumi.Output[Optional[str]]:
1230
1391
  """
1231
- Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1392
+ Device emulation type field. Valid values are `MOBILE` and `TABLET`.
1393
+ * 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.
1232
1394
  """
1233
1395
  return pulumi.get(self, "device_type")
1234
1396
 
1397
+ @property
1398
+ @pulumi.getter
1399
+ def devices(self) -> pulumi.Output[Optional[Sequence[str]]]:
1400
+ """
1401
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
1402
+ """
1403
+ return pulumi.get(self, "devices")
1404
+
1235
1405
  @property
1236
1406
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
1237
1407
  def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]:
@@ -1252,7 +1422,7 @@ class Monitor(pulumi.CustomResource):
1252
1422
  @pulumi.getter(name="locationsPublics")
1253
1423
  def locations_publics(self) -> pulumi.Output[Optional[Sequence[str]]]:
1254
1424
  """
1255
- The location the monitor will run from. Valid public locations are https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
1425
+ 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. You don't need the `AWS_` prefix as the provider uses NerdGraph. At least one of either `locations_public` or `location_private` is required.
1256
1426
  """
1257
1427
  return pulumi.get(self, "locations_publics")
1258
1428
 
@@ -1268,7 +1438,7 @@ class Monitor(pulumi.CustomResource):
1268
1438
  @pulumi.getter
1269
1439
  def period(self) -> pulumi.Output[str]:
1270
1440
  """
1271
- 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.
1441
+ 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`.
1272
1442
  """
1273
1443
  return pulumi.get(self, "period")
1274
1444
 
@@ -1284,7 +1454,7 @@ class Monitor(pulumi.CustomResource):
1284
1454
  @pulumi.getter(name="runtimeType")
1285
1455
  def runtime_type(self) -> pulumi.Output[Optional[str]]:
1286
1456
  """
1287
- The runtime type that the monitor will run.
1457
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
1288
1458
  """
1289
1459
  return pulumi.get(self, "runtime_type")
1290
1460
 
@@ -1292,7 +1462,7 @@ class Monitor(pulumi.CustomResource):
1292
1462
  @pulumi.getter(name="runtimeTypeVersion")
1293
1463
  def runtime_type_version(self) -> pulumi.Output[Optional[str]]:
1294
1464
  """
1295
- The runtime type that the monitor will run.
1465
+ The specific version of the runtime type selected (`100`).
1296
1466
  """
1297
1467
  return pulumi.get(self, "runtime_type_version")
1298
1468
 
@@ -1308,9 +1478,7 @@ class Monitor(pulumi.CustomResource):
1308
1478
  @pulumi.getter
1309
1479
  def status(self) -> pulumi.Output[str]:
1310
1480
  """
1311
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
1312
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
1313
- refrain from using this value and shift to alternatives.
1481
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
1314
1482
  """
1315
1483
  return pulumi.get(self, "status")
1316
1484
 
@@ -1348,6 +1516,11 @@ class Monitor(pulumi.CustomResource):
1348
1516
  """
1349
1517
  return pulumi.get(self, "uri")
1350
1518
 
1519
+ @property
1520
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
1521
+ def use_unsupported_legacy_runtime(self) -> pulumi.Output[Optional[bool]]:
1522
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
1523
+
1351
1524
  @property
1352
1525
  @pulumi.getter(name="validationString")
1353
1526
  def validation_string(self) -> pulumi.Output[Optional[str]]: