pulumi-newrelic 5.21.0a1710157101__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 +11 -6
  5. pulumi_newrelic/alert_channel.py +116 -127
  6. pulumi_newrelic/alert_condition.py +116 -129
  7. pulumi_newrelic/alert_muting_rule.py +128 -76
  8. pulumi_newrelic/alert_policy.py +78 -75
  9. pulumi_newrelic/alert_policy_channel.py +77 -68
  10. pulumi_newrelic/api_access_key.py +45 -28
  11. pulumi_newrelic/browser_application.py +77 -78
  12. pulumi_newrelic/cloud/_inputs.py +2527 -1082
  13. pulumi_newrelic/cloud/aws_govcloud_integrations.py +133 -128
  14. pulumi_newrelic/cloud/aws_govcloud_link_account.py +23 -20
  15. pulumi_newrelic/cloud/aws_integrations.py +298 -1326
  16. pulumi_newrelic/cloud/aws_link_account.py +23 -20
  17. pulumi_newrelic/cloud/azure_integrations.py +521 -483
  18. pulumi_newrelic/cloud/azure_link_account.py +34 -31
  19. pulumi_newrelic/cloud/gcp_integrations.py +341 -322
  20. pulumi_newrelic/cloud/gcp_link_account.py +23 -20
  21. pulumi_newrelic/cloud/outputs.py +327 -1072
  22. pulumi_newrelic/config/__init__.pyi +6 -1
  23. pulumi_newrelic/config/vars.py +7 -2
  24. pulumi_newrelic/data_partition_rule.py +19 -18
  25. pulumi_newrelic/entity_tags.py +32 -31
  26. pulumi_newrelic/events_to_metrics_rule.py +23 -20
  27. pulumi_newrelic/get_account.py +24 -16
  28. pulumi_newrelic/get_alert_channel.py +26 -13
  29. pulumi_newrelic/get_alert_policy.py +35 -12
  30. pulumi_newrelic/get_application.py +39 -31
  31. pulumi_newrelic/get_authentication_domain.py +17 -13
  32. pulumi_newrelic/get_cloud_account.py +26 -18
  33. pulumi_newrelic/get_entity.py +90 -147
  34. pulumi_newrelic/get_group.py +58 -13
  35. pulumi_newrelic/get_key_transaction.py +109 -34
  36. pulumi_newrelic/get_notification_destination.py +64 -14
  37. pulumi_newrelic/get_obfuscation_expression.py +36 -28
  38. pulumi_newrelic/get_service_level_alert_helper.py +135 -117
  39. pulumi_newrelic/get_test_grok_pattern.py +29 -18
  40. pulumi_newrelic/get_user.py +17 -9
  41. pulumi_newrelic/group.py +5 -146
  42. pulumi_newrelic/infra_alert_condition.py +160 -167
  43. pulumi_newrelic/insights/_inputs.py +43 -0
  44. pulumi_newrelic/insights/event.py +48 -47
  45. pulumi_newrelic/insights/outputs.py +5 -0
  46. pulumi_newrelic/key_transaction.py +464 -0
  47. pulumi_newrelic/log_parsing_rule.py +25 -24
  48. pulumi_newrelic/monitor_downtime.py +211 -225
  49. pulumi_newrelic/notification_channel.py +381 -366
  50. pulumi_newrelic/notification_destination.py +192 -54
  51. pulumi_newrelic/nrql_alert_condition.py +345 -262
  52. pulumi_newrelic/nrql_drop_rule.py +31 -30
  53. pulumi_newrelic/obfuscation_expression.py +23 -20
  54. pulumi_newrelic/obfuscation_rule.py +38 -33
  55. pulumi_newrelic/one_dashboard.py +29 -24
  56. pulumi_newrelic/one_dashboard_json.py +19 -14
  57. pulumi_newrelic/one_dashboard_raw.py +110 -105
  58. pulumi_newrelic/outputs.py +2446 -245
  59. pulumi_newrelic/plugins/_inputs.py +145 -10
  60. pulumi_newrelic/plugins/application_settings.py +25 -36
  61. pulumi_newrelic/plugins/outputs.py +15 -10
  62. pulumi_newrelic/plugins/workload.py +215 -92
  63. pulumi_newrelic/provider.py +27 -33
  64. pulumi_newrelic/pulumi-plugin.json +2 -1
  65. pulumi_newrelic/service_level.py +185 -186
  66. pulumi_newrelic/synthetics/_inputs.py +159 -2
  67. pulumi_newrelic/synthetics/alert_condition.py +87 -98
  68. pulumi_newrelic/synthetics/broken_links_monitor.py +216 -99
  69. pulumi_newrelic/synthetics/cert_check_monitor.py +219 -100
  70. pulumi_newrelic/synthetics/get_private_location.py +34 -30
  71. pulumi_newrelic/synthetics/get_secure_credential.py +24 -16
  72. pulumi_newrelic/synthetics/monitor.py +348 -193
  73. pulumi_newrelic/synthetics/multi_location_alert_condition.py +105 -100
  74. pulumi_newrelic/synthetics/outputs.py +7 -2
  75. pulumi_newrelic/synthetics/private_location.py +25 -20
  76. pulumi_newrelic/synthetics/script_monitor.py +317 -182
  77. pulumi_newrelic/synthetics/secure_credential.py +23 -22
  78. pulumi_newrelic/synthetics/step_monitor.py +405 -100
  79. pulumi_newrelic/user.py +13 -10
  80. pulumi_newrelic/workflow.py +209 -196
  81. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/METADATA +7 -6
  82. pulumi_newrelic-5.39.0a1736834464.dist-info/RECORD +90 -0
  83. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.0a1736834464.dist-info}/WHEEL +1 -1
  84. pulumi_newrelic-5.21.0a1710157101.dist-info/RECORD +0 -89
  85. {pulumi_newrelic-5.21.0a1710157101.dist-info → pulumi_newrelic-5.39.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,69 +821,75 @@ 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
- <!--Start PulumiCodeChooser -->
742
835
  ```python
743
836
  import pulumi
744
837
  import pulumi_newrelic as newrelic
745
838
 
746
839
  monitor = newrelic.synthetics.Monitor("monitor",
747
- bypass_head_request=True,
748
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
749
- name="some_name",
750
- value="some_value",
751
- )],
752
- locations_publics=["AP_SOUTH_1"],
753
- period="EVERY_MINUTE",
754
840
  status="ENABLED",
755
- tags=[newrelic.synthetics.MonitorTagArgs(
756
- key="some_key",
757
- values=["some_value"],
758
- )],
759
- treat_redirect_as_failure=True,
760
- type="SIMPLE",
841
+ name="monitor",
842
+ period="EVERY_MINUTE",
761
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,
762
851
  validation_string="success",
763
- verify_ssl=True)
852
+ bypass_head_request=True,
853
+ verify_ssl=True,
854
+ tags=[{
855
+ "key": "some_key",
856
+ "values": ["some_value"],
857
+ }])
764
858
  ```
765
- <!--End PulumiCodeChooser -->
766
859
  ##### Type: `SIMPLE BROWSER`
767
860
 
768
- <!--Start PulumiCodeChooser -->
769
861
  ```python
770
862
  import pulumi
771
863
  import pulumi_newrelic as newrelic
772
864
 
773
865
  monitor = newrelic.synthetics.Monitor("monitor",
774
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
775
- name="some_name",
776
- value="some_value",
777
- )],
778
- enable_screenshot_on_failure_and_script=True,
779
- locations_publics=["AP_SOUTH_1"],
780
- period="EVERY_MINUTE",
781
866
  status="ENABLED",
782
- tags=[newrelic.synthetics.MonitorTagArgs(
783
- key="some_key",
784
- values=["some_value"],
785
- )],
786
- type="BROWSER",
867
+ name="monitor",
868
+ period="EVERY_MINUTE",
787
869
  uri="https://www.one.newrelic.com",
870
+ type="BROWSER",
871
+ locations_publics=["AP_SOUTH_1"],
872
+ enable_screenshot_on_failure_and_script=True,
788
873
  validation_string="success",
789
- 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
+ }])
790
892
  ```
791
- <!--End PulumiCodeChooser -->
792
893
  See additional examples.
793
894
 
794
895
  ## Additional Examples
@@ -801,66 +902,72 @@ class Monitor(pulumi.CustomResource):
801
902
 
802
903
  ##### Type: `SIMPLE`
803
904
 
804
- <!--Start PulumiCodeChooser -->
805
905
  ```python
806
906
  import pulumi
807
907
  import pulumi_newrelic as newrelic
808
908
 
809
909
  location = newrelic.synthetics.PrivateLocation("location",
810
910
  description="Example private location",
911
+ name="private_location",
811
912
  verified_script_execution=False)
812
913
  monitor = newrelic.synthetics.Monitor("monitor",
813
914
  status="ENABLED",
915
+ name="monitor",
814
916
  period="EVERY_MINUTE",
815
917
  uri="https://www.one.newrelic.com",
816
918
  type="SIMPLE",
817
919
  locations_privates=[location.id],
818
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
819
- name="some_name",
820
- value="some_value",
821
- )],
920
+ custom_headers=[{
921
+ "name": "some_name",
922
+ "value": "some_value",
923
+ }],
822
924
  treat_redirect_as_failure=True,
823
925
  validation_string="success",
824
926
  bypass_head_request=True,
825
927
  verify_ssl=True,
826
- tags=[newrelic.synthetics.MonitorTagArgs(
827
- key="some_key",
828
- values=["some_value"],
829
- )])
928
+ tags=[{
929
+ "key": "some_key",
930
+ "values": ["some_value"],
931
+ }])
830
932
  ```
831
- <!--End PulumiCodeChooser -->
832
933
  ##### Type: `BROWSER`
833
934
 
834
- <!--Start PulumiCodeChooser -->
835
935
  ```python
836
936
  import pulumi
837
937
  import pulumi_newrelic as newrelic
838
938
 
839
939
  location = newrelic.synthetics.PrivateLocation("location",
840
940
  description="Example private location",
941
+ name="private-location",
841
942
  verified_script_execution=False)
842
943
  monitor = newrelic.synthetics.Monitor("monitor",
843
944
  status="ENABLED",
844
945
  type="BROWSER",
845
946
  uri="https://www.one.newrelic.com",
947
+ name="monitor",
846
948
  period="EVERY_MINUTE",
847
949
  locations_privates=[location.id],
848
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
849
- name="some_name",
850
- value="some_value",
851
- )],
852
950
  enable_screenshot_on_failure_and_script=True,
853
951
  validation_string="success",
854
952
  verify_ssl=True,
855
953
  runtime_type_version="100",
856
954
  runtime_type="CHROME_BROWSER",
857
955
  script_language="JAVASCRIPT",
858
- tags=[newrelic.synthetics.MonitorTagArgs(
859
- key="some_key",
860
- values=["some_value"],
861
- )])
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
+ }])
862
970
  ```
863
- <!--End PulumiCodeChooser -->
864
971
 
865
972
  ## Import
866
973
 
@@ -874,25 +981,27 @@ class Monitor(pulumi.CustomResource):
874
981
 
875
982
  :param str resource_name: The name of the resource.
876
983
  :param pulumi.ResourceOptions opts: Options for the resource.
877
- :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`.
878
986
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
879
987
 
880
988
  The `BROWSER` monitor type supports the following additional arguments:
881
- :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.
882
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
883
- :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`.
884
995
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
885
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.
886
- :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.
887
998
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
888
- :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.
889
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
890
- :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`).
891
1002
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
892
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
893
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
894
- refrain from using this value and shift to alternatives.
895
- :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.
896
1005
 
897
1006
  The `SIMPLE` monitor type supports the following additional arguments:
898
1007
  :param pulumi.Input[bool] treat_redirect_as_failure: Categorize redirects during a monitor job as a failure.
@@ -908,61 +1017,66 @@ class Monitor(pulumi.CustomResource):
908
1017
  args: MonitorArgs,
909
1018
  opts: Optional[pulumi.ResourceOptions] = None):
910
1019
  """
911
- Use this resource to create, update, and delete a Simple or Browser Synthetics Monitor in New Relic.
912
-
913
1020
  ## Example Usage
914
1021
 
915
- <!--Start PulumiCodeChooser -->
916
1022
  ```python
917
1023
  import pulumi
918
1024
  import pulumi_newrelic as newrelic
919
1025
 
920
1026
  monitor = newrelic.synthetics.Monitor("monitor",
921
- bypass_head_request=True,
922
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
923
- name="some_name",
924
- value="some_value",
925
- )],
926
- locations_publics=["AP_SOUTH_1"],
927
- period="EVERY_MINUTE",
928
1027
  status="ENABLED",
929
- tags=[newrelic.synthetics.MonitorTagArgs(
930
- key="some_key",
931
- values=["some_value"],
932
- )],
933
- treat_redirect_as_failure=True,
934
- type="SIMPLE",
1028
+ name="monitor",
1029
+ period="EVERY_MINUTE",
935
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,
936
1038
  validation_string="success",
937
- verify_ssl=True)
1039
+ bypass_head_request=True,
1040
+ verify_ssl=True,
1041
+ tags=[{
1042
+ "key": "some_key",
1043
+ "values": ["some_value"],
1044
+ }])
938
1045
  ```
939
- <!--End PulumiCodeChooser -->
940
1046
  ##### Type: `SIMPLE BROWSER`
941
1047
 
942
- <!--Start PulumiCodeChooser -->
943
1048
  ```python
944
1049
  import pulumi
945
1050
  import pulumi_newrelic as newrelic
946
1051
 
947
1052
  monitor = newrelic.synthetics.Monitor("monitor",
948
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
949
- name="some_name",
950
- value="some_value",
951
- )],
952
- enable_screenshot_on_failure_and_script=True,
953
- locations_publics=["AP_SOUTH_1"],
954
- period="EVERY_MINUTE",
955
1053
  status="ENABLED",
956
- tags=[newrelic.synthetics.MonitorTagArgs(
957
- key="some_key",
958
- values=["some_value"],
959
- )],
960
- type="BROWSER",
1054
+ name="monitor",
1055
+ period="EVERY_MINUTE",
961
1056
  uri="https://www.one.newrelic.com",
1057
+ type="BROWSER",
1058
+ locations_publics=["AP_SOUTH_1"],
1059
+ enable_screenshot_on_failure_and_script=True,
962
1060
  validation_string="success",
963
- 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
+ }])
964
1079
  ```
965
- <!--End PulumiCodeChooser -->
966
1080
  See additional examples.
967
1081
 
968
1082
  ## Additional Examples
@@ -975,66 +1089,72 @@ class Monitor(pulumi.CustomResource):
975
1089
 
976
1090
  ##### Type: `SIMPLE`
977
1091
 
978
- <!--Start PulumiCodeChooser -->
979
1092
  ```python
980
1093
  import pulumi
981
1094
  import pulumi_newrelic as newrelic
982
1095
 
983
1096
  location = newrelic.synthetics.PrivateLocation("location",
984
1097
  description="Example private location",
1098
+ name="private_location",
985
1099
  verified_script_execution=False)
986
1100
  monitor = newrelic.synthetics.Monitor("monitor",
987
1101
  status="ENABLED",
1102
+ name="monitor",
988
1103
  period="EVERY_MINUTE",
989
1104
  uri="https://www.one.newrelic.com",
990
1105
  type="SIMPLE",
991
1106
  locations_privates=[location.id],
992
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
993
- name="some_name",
994
- value="some_value",
995
- )],
1107
+ custom_headers=[{
1108
+ "name": "some_name",
1109
+ "value": "some_value",
1110
+ }],
996
1111
  treat_redirect_as_failure=True,
997
1112
  validation_string="success",
998
1113
  bypass_head_request=True,
999
1114
  verify_ssl=True,
1000
- tags=[newrelic.synthetics.MonitorTagArgs(
1001
- key="some_key",
1002
- values=["some_value"],
1003
- )])
1115
+ tags=[{
1116
+ "key": "some_key",
1117
+ "values": ["some_value"],
1118
+ }])
1004
1119
  ```
1005
- <!--End PulumiCodeChooser -->
1006
1120
  ##### Type: `BROWSER`
1007
1121
 
1008
- <!--Start PulumiCodeChooser -->
1009
1122
  ```python
1010
1123
  import pulumi
1011
1124
  import pulumi_newrelic as newrelic
1012
1125
 
1013
1126
  location = newrelic.synthetics.PrivateLocation("location",
1014
1127
  description="Example private location",
1128
+ name="private-location",
1015
1129
  verified_script_execution=False)
1016
1130
  monitor = newrelic.synthetics.Monitor("monitor",
1017
1131
  status="ENABLED",
1018
1132
  type="BROWSER",
1019
1133
  uri="https://www.one.newrelic.com",
1134
+ name="monitor",
1020
1135
  period="EVERY_MINUTE",
1021
1136
  locations_privates=[location.id],
1022
- custom_headers=[newrelic.synthetics.MonitorCustomHeaderArgs(
1023
- name="some_name",
1024
- value="some_value",
1025
- )],
1026
1137
  enable_screenshot_on_failure_and_script=True,
1027
1138
  validation_string="success",
1028
1139
  verify_ssl=True,
1029
1140
  runtime_type_version="100",
1030
1141
  runtime_type="CHROME_BROWSER",
1031
1142
  script_language="JAVASCRIPT",
1032
- tags=[newrelic.synthetics.MonitorTagArgs(
1033
- key="some_key",
1034
- values=["some_value"],
1035
- )])
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
+ }])
1036
1157
  ```
1037
- <!--End PulumiCodeChooser -->
1038
1158
 
1039
1159
  ## Import
1040
1160
 
@@ -1061,11 +1181,13 @@ class Monitor(pulumi.CustomResource):
1061
1181
  def _internal_init(__self__,
1062
1182
  resource_name: str,
1063
1183
  opts: Optional[pulumi.ResourceOptions] = None,
1064
- 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,
1065
1186
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
1066
- 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,
1067
1188
  device_orientation: Optional[pulumi.Input[str]] = None,
1068
1189
  device_type: Optional[pulumi.Input[str]] = None,
1190
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1069
1191
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
1070
1192
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1071
1193
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1075,10 +1197,11 @@ class Monitor(pulumi.CustomResource):
1075
1197
  runtime_type_version: Optional[pulumi.Input[str]] = None,
1076
1198
  script_language: Optional[pulumi.Input[str]] = None,
1077
1199
  status: Optional[pulumi.Input[str]] = None,
1078
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]]] = None,
1200
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]]] = None,
1079
1201
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
1080
1202
  type: Optional[pulumi.Input[str]] = None,
1081
1203
  uri: Optional[pulumi.Input[str]] = None,
1204
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
1082
1205
  validation_string: Optional[pulumi.Input[str]] = None,
1083
1206
  verify_ssl: Optional[pulumi.Input[bool]] = None,
1084
1207
  __props__=None):
@@ -1091,10 +1214,12 @@ class Monitor(pulumi.CustomResource):
1091
1214
  __props__ = MonitorArgs.__new__(MonitorArgs)
1092
1215
 
1093
1216
  __props__.__dict__["account_id"] = account_id
1217
+ __props__.__dict__["browsers"] = browsers
1094
1218
  __props__.__dict__["bypass_head_request"] = bypass_head_request
1095
1219
  __props__.__dict__["custom_headers"] = custom_headers
1096
1220
  __props__.__dict__["device_orientation"] = device_orientation
1097
1221
  __props__.__dict__["device_type"] = device_type
1222
+ __props__.__dict__["devices"] = devices
1098
1223
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
1099
1224
  __props__.__dict__["locations_privates"] = locations_privates
1100
1225
  __props__.__dict__["locations_publics"] = locations_publics
@@ -1112,6 +1237,7 @@ class Monitor(pulumi.CustomResource):
1112
1237
  raise TypeError("Missing required property 'type'")
1113
1238
  __props__.__dict__["type"] = type
1114
1239
  __props__.__dict__["uri"] = uri
1240
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
1115
1241
  __props__.__dict__["validation_string"] = validation_string
1116
1242
  __props__.__dict__["verify_ssl"] = verify_ssl
1117
1243
  __props__.__dict__["period_in_minutes"] = None
@@ -1125,11 +1251,13 @@ class Monitor(pulumi.CustomResource):
1125
1251
  def get(resource_name: str,
1126
1252
  id: pulumi.Input[str],
1127
1253
  opts: Optional[pulumi.ResourceOptions] = None,
1128
- 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,
1129
1256
  bypass_head_request: Optional[pulumi.Input[bool]] = None,
1130
- 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,
1131
1258
  device_orientation: Optional[pulumi.Input[str]] = None,
1132
1259
  device_type: Optional[pulumi.Input[str]] = None,
1260
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1133
1261
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
1134
1262
  locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1135
1263
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1140,10 +1268,11 @@ class Monitor(pulumi.CustomResource):
1140
1268
  runtime_type_version: Optional[pulumi.Input[str]] = None,
1141
1269
  script_language: Optional[pulumi.Input[str]] = None,
1142
1270
  status: Optional[pulumi.Input[str]] = None,
1143
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MonitorTagArgs']]]]] = None,
1271
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorTagArgs', 'MonitorTagArgsDict']]]]] = None,
1144
1272
  treat_redirect_as_failure: Optional[pulumi.Input[bool]] = None,
1145
1273
  type: Optional[pulumi.Input[str]] = None,
1146
1274
  uri: Optional[pulumi.Input[str]] = None,
1275
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
1147
1276
  validation_string: Optional[pulumi.Input[str]] = None,
1148
1277
  verify_ssl: Optional[pulumi.Input[bool]] = None) -> 'Monitor':
1149
1278
  """
@@ -1153,26 +1282,28 @@ class Monitor(pulumi.CustomResource):
1153
1282
  :param str resource_name: The unique name of the resulting resource.
1154
1283
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1155
1284
  :param pulumi.ResourceOptions opts: Options for the resource.
1156
- :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`.
1157
1287
  :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check.
1158
1288
 
1159
1289
  The `BROWSER` monitor type supports the following additional arguments:
1160
- :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.
1161
- :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.
1162
- :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`.
1163
1296
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
1164
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.
1165
- :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.
1166
1299
  :param pulumi.Input[str] name: The human-readable identifier for the monitor.
1167
- :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`.
1168
1301
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
1169
- :param pulumi.Input[str] runtime_type: The runtime type that the monitor will run.
1170
- :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`).
1171
1304
  :param pulumi.Input[str] script_language: The programing language that should execute the script.
1172
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
1173
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
1174
- refrain from using this value and shift to alternatives.
1175
- :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.
1176
1307
 
1177
1308
  The `SIMPLE` monitor type supports the following additional arguments:
1178
1309
  :param pulumi.Input[bool] treat_redirect_as_failure: Categorize redirects during a monitor job as a failure.
@@ -1186,10 +1317,12 @@ class Monitor(pulumi.CustomResource):
1186
1317
  __props__ = _MonitorState.__new__(_MonitorState)
1187
1318
 
1188
1319
  __props__.__dict__["account_id"] = account_id
1320
+ __props__.__dict__["browsers"] = browsers
1189
1321
  __props__.__dict__["bypass_head_request"] = bypass_head_request
1190
1322
  __props__.__dict__["custom_headers"] = custom_headers
1191
1323
  __props__.__dict__["device_orientation"] = device_orientation
1192
1324
  __props__.__dict__["device_type"] = device_type
1325
+ __props__.__dict__["devices"] = devices
1193
1326
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
1194
1327
  __props__.__dict__["locations_privates"] = locations_privates
1195
1328
  __props__.__dict__["locations_publics"] = locations_publics
@@ -1204,18 +1337,27 @@ class Monitor(pulumi.CustomResource):
1204
1337
  __props__.__dict__["treat_redirect_as_failure"] = treat_redirect_as_failure
1205
1338
  __props__.__dict__["type"] = type
1206
1339
  __props__.__dict__["uri"] = uri
1340
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
1207
1341
  __props__.__dict__["validation_string"] = validation_string
1208
1342
  __props__.__dict__["verify_ssl"] = verify_ssl
1209
1343
  return Monitor(resource_name, opts=opts, __props__=__props__)
1210
1344
 
1211
1345
  @property
1212
1346
  @pulumi.getter(name="accountId")
1213
- def account_id(self) -> pulumi.Output[int]:
1347
+ def account_id(self) -> pulumi.Output[str]:
1214
1348
  """
1215
1349
  The account in which the Synthetics monitor will be created.
1216
1350
  """
1217
1351
  return pulumi.get(self, "account_id")
1218
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
+
1219
1361
  @property
1220
1362
  @pulumi.getter(name="bypassHeadRequest")
1221
1363
  def bypass_head_request(self) -> pulumi.Output[Optional[bool]]:
@@ -1238,7 +1380,8 @@ class Monitor(pulumi.CustomResource):
1238
1380
  @pulumi.getter(name="deviceOrientation")
1239
1381
  def device_orientation(self) -> pulumi.Output[Optional[str]]:
1240
1382
  """
1241
- 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.
1242
1385
  """
1243
1386
  return pulumi.get(self, "device_orientation")
1244
1387
 
@@ -1246,10 +1389,19 @@ class Monitor(pulumi.CustomResource):
1246
1389
  @pulumi.getter(name="deviceType")
1247
1390
  def device_type(self) -> pulumi.Output[Optional[str]]:
1248
1391
  """
1249
- 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.
1250
1394
  """
1251
1395
  return pulumi.get(self, "device_type")
1252
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
+
1253
1405
  @property
1254
1406
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
1255
1407
  def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]:
@@ -1270,7 +1422,7 @@ class Monitor(pulumi.CustomResource):
1270
1422
  @pulumi.getter(name="locationsPublics")
1271
1423
  def locations_publics(self) -> pulumi.Output[Optional[Sequence[str]]]:
1272
1424
  """
1273
- 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.
1274
1426
  """
1275
1427
  return pulumi.get(self, "locations_publics")
1276
1428
 
@@ -1286,7 +1438,7 @@ class Monitor(pulumi.CustomResource):
1286
1438
  @pulumi.getter
1287
1439
  def period(self) -> pulumi.Output[str]:
1288
1440
  """
1289
- 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`.
1290
1442
  """
1291
1443
  return pulumi.get(self, "period")
1292
1444
 
@@ -1302,7 +1454,7 @@ class Monitor(pulumi.CustomResource):
1302
1454
  @pulumi.getter(name="runtimeType")
1303
1455
  def runtime_type(self) -> pulumi.Output[Optional[str]]:
1304
1456
  """
1305
- The runtime type that the monitor will run.
1457
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
1306
1458
  """
1307
1459
  return pulumi.get(self, "runtime_type")
1308
1460
 
@@ -1310,7 +1462,7 @@ class Monitor(pulumi.CustomResource):
1310
1462
  @pulumi.getter(name="runtimeTypeVersion")
1311
1463
  def runtime_type_version(self) -> pulumi.Output[Optional[str]]:
1312
1464
  """
1313
- The runtime type that the monitor will run.
1465
+ The specific version of the runtime type selected (`100`).
1314
1466
  """
1315
1467
  return pulumi.get(self, "runtime_type_version")
1316
1468
 
@@ -1326,9 +1478,7 @@ class Monitor(pulumi.CustomResource):
1326
1478
  @pulumi.getter
1327
1479
  def status(self) -> pulumi.Output[str]:
1328
1480
  """
1329
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
1330
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
1331
- refrain from using this value and shift to alternatives.
1481
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
1332
1482
  """
1333
1483
  return pulumi.get(self, "status")
1334
1484
 
@@ -1366,6 +1516,11 @@ class Monitor(pulumi.CustomResource):
1366
1516
  """
1367
1517
  return pulumi.get(self, "uri")
1368
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
+
1369
1524
  @property
1370
1525
  @pulumi.getter(name="validationString")
1371
1526
  def validation_string(self) -> pulumi.Output[Optional[str]]: