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 *
@@ -19,24 +24,31 @@ class StepMonitorArgs:
19
24
  period: pulumi.Input[str],
20
25
  status: pulumi.Input[str],
21
26
  steps: pulumi.Input[Sequence[pulumi.Input['StepMonitorStepArgs']]],
22
- account_id: Optional[pulumi.Input[int]] = None,
27
+ account_id: Optional[pulumi.Input[str]] = None,
28
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
29
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
23
30
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
24
31
  location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]]] = None,
25
32
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
33
  name: Optional[pulumi.Input[str]] = None,
27
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]] = None):
34
+ runtime_type: Optional[pulumi.Input[str]] = None,
35
+ runtime_type_version: Optional[pulumi.Input[str]] = None,
36
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]] = None,
37
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None):
28
38
  """
29
39
  The set of arguments for constructing a StepMonitor resource.
30
- :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.
31
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
32
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
33
- refrain from using this value and shift to alternatives.
40
+ :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`.
41
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
34
42
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorStepArgs']]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
35
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
43
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
44
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
45
+ :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`.
36
46
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
37
47
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
38
- :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.
48
+ :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.
39
49
  :param pulumi.Input[str] name: The name for the monitor.
50
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
51
+ :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type.
40
52
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
41
53
  """
42
54
  pulumi.set(__self__, "period", period)
@@ -44,6 +56,10 @@ class StepMonitorArgs:
44
56
  pulumi.set(__self__, "steps", steps)
45
57
  if account_id is not None:
46
58
  pulumi.set(__self__, "account_id", account_id)
59
+ if browsers is not None:
60
+ pulumi.set(__self__, "browsers", browsers)
61
+ if devices is not None:
62
+ pulumi.set(__self__, "devices", devices)
47
63
  if enable_screenshot_on_failure_and_script is not None:
48
64
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
49
65
  if location_privates is not None:
@@ -52,14 +68,20 @@ class StepMonitorArgs:
52
68
  pulumi.set(__self__, "locations_publics", locations_publics)
53
69
  if name is not None:
54
70
  pulumi.set(__self__, "name", name)
71
+ if runtime_type is not None:
72
+ pulumi.set(__self__, "runtime_type", runtime_type)
73
+ if runtime_type_version is not None:
74
+ pulumi.set(__self__, "runtime_type_version", runtime_type_version)
55
75
  if tags is not None:
56
76
  pulumi.set(__self__, "tags", tags)
77
+ if use_unsupported_legacy_runtime is not None:
78
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
57
79
 
58
80
  @property
59
81
  @pulumi.getter
60
82
  def period(self) -> pulumi.Input[str]:
61
83
  """
62
- 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.
84
+ 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`.
63
85
  """
64
86
  return pulumi.get(self, "period")
65
87
 
@@ -71,9 +93,7 @@ class StepMonitorArgs:
71
93
  @pulumi.getter
72
94
  def status(self) -> pulumi.Input[str]:
73
95
  """
74
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
75
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
76
- refrain from using this value and shift to alternatives.
96
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
77
97
  """
78
98
  return pulumi.get(self, "status")
79
99
 
@@ -95,16 +115,40 @@ class StepMonitorArgs:
95
115
 
96
116
  @property
97
117
  @pulumi.getter(name="accountId")
98
- def account_id(self) -> Optional[pulumi.Input[int]]:
118
+ def account_id(self) -> Optional[pulumi.Input[str]]:
99
119
  """
100
120
  The account in which the Synthetics monitor will be created.
101
121
  """
102
122
  return pulumi.get(self, "account_id")
103
123
 
104
124
  @account_id.setter
105
- def account_id(self, value: Optional[pulumi.Input[int]]):
125
+ def account_id(self, value: Optional[pulumi.Input[str]]):
106
126
  pulumi.set(self, "account_id", value)
107
127
 
128
+ @property
129
+ @pulumi.getter
130
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
131
+ """
132
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
133
+ """
134
+ return pulumi.get(self, "browsers")
135
+
136
+ @browsers.setter
137
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
138
+ pulumi.set(self, "browsers", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
143
+ """
144
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
145
+ """
146
+ return pulumi.get(self, "devices")
147
+
148
+ @devices.setter
149
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
150
+ pulumi.set(self, "devices", value)
151
+
108
152
  @property
109
153
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
110
154
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -133,7 +177,7 @@ class StepMonitorArgs:
133
177
  @pulumi.getter(name="locationsPublics")
134
178
  def locations_publics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
135
179
  """
136
- 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.
180
+ 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.
137
181
  """
138
182
  return pulumi.get(self, "locations_publics")
139
183
 
@@ -153,6 +197,30 @@ class StepMonitorArgs:
153
197
  def name(self, value: Optional[pulumi.Input[str]]):
154
198
  pulumi.set(self, "name", value)
155
199
 
200
+ @property
201
+ @pulumi.getter(name="runtimeType")
202
+ def runtime_type(self) -> Optional[pulumi.Input[str]]:
203
+ """
204
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
205
+ """
206
+ return pulumi.get(self, "runtime_type")
207
+
208
+ @runtime_type.setter
209
+ def runtime_type(self, value: Optional[pulumi.Input[str]]):
210
+ pulumi.set(self, "runtime_type", value)
211
+
212
+ @property
213
+ @pulumi.getter(name="runtimeTypeVersion")
214
+ def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
215
+ """
216
+ The specific semver version of the runtime type.
217
+ """
218
+ return pulumi.get(self, "runtime_type_version")
219
+
220
+ @runtime_type_version.setter
221
+ def runtime_type_version(self, value: Optional[pulumi.Input[str]]):
222
+ pulumi.set(self, "runtime_type_version", value)
223
+
156
224
  @property
157
225
  @pulumi.getter
158
226
  def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]]:
@@ -165,11 +233,22 @@ class StepMonitorArgs:
165
233
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]]):
166
234
  pulumi.set(self, "tags", value)
167
235
 
236
+ @property
237
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
238
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
239
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
240
+
241
+ @use_unsupported_legacy_runtime.setter
242
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
243
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
244
+
168
245
 
169
246
  @pulumi.input_type
170
247
  class _StepMonitorState:
171
248
  def __init__(__self__, *,
172
- account_id: Optional[pulumi.Input[int]] = None,
249
+ account_id: Optional[pulumi.Input[str]] = None,
250
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
251
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
173
252
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
174
253
  guid: Optional[pulumi.Input[str]] = None,
175
254
  location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]]] = None,
@@ -177,27 +256,36 @@ class _StepMonitorState:
177
256
  name: Optional[pulumi.Input[str]] = None,
178
257
  period: Optional[pulumi.Input[str]] = None,
179
258
  period_in_minutes: Optional[pulumi.Input[int]] = None,
259
+ runtime_type: Optional[pulumi.Input[str]] = None,
260
+ runtime_type_version: Optional[pulumi.Input[str]] = None,
180
261
  status: Optional[pulumi.Input[str]] = None,
181
262
  steps: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorStepArgs']]]] = None,
182
- tags: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]] = None):
263
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]] = None,
264
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None):
183
265
  """
184
266
  Input properties used for looking up and filtering StepMonitor resources.
185
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
267
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
268
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
269
+ :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`.
186
270
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
187
- :param pulumi.Input[str] guid: The unique identifier for the Synthetics private location in New Relic.
271
+ :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic.
188
272
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
189
- :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.
273
+ :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.
190
274
  :param pulumi.Input[str] name: The name for the monitor.
191
- :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.
275
+ :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`.
192
276
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
193
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
194
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
195
- refrain from using this value and shift to alternatives.
277
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
278
+ :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type.
279
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
196
280
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorStepArgs']]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
197
281
  :param pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
198
282
  """
199
283
  if account_id is not None:
200
284
  pulumi.set(__self__, "account_id", account_id)
285
+ if browsers is not None:
286
+ pulumi.set(__self__, "browsers", browsers)
287
+ if devices is not None:
288
+ pulumi.set(__self__, "devices", devices)
201
289
  if enable_screenshot_on_failure_and_script is not None:
202
290
  pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script)
203
291
  if guid is not None:
@@ -212,25 +300,55 @@ class _StepMonitorState:
212
300
  pulumi.set(__self__, "period", period)
213
301
  if period_in_minutes is not None:
214
302
  pulumi.set(__self__, "period_in_minutes", period_in_minutes)
303
+ if runtime_type is not None:
304
+ pulumi.set(__self__, "runtime_type", runtime_type)
305
+ if runtime_type_version is not None:
306
+ pulumi.set(__self__, "runtime_type_version", runtime_type_version)
215
307
  if status is not None:
216
308
  pulumi.set(__self__, "status", status)
217
309
  if steps is not None:
218
310
  pulumi.set(__self__, "steps", steps)
219
311
  if tags is not None:
220
312
  pulumi.set(__self__, "tags", tags)
313
+ if use_unsupported_legacy_runtime is not None:
314
+ pulumi.set(__self__, "use_unsupported_legacy_runtime", use_unsupported_legacy_runtime)
221
315
 
222
316
  @property
223
317
  @pulumi.getter(name="accountId")
224
- def account_id(self) -> Optional[pulumi.Input[int]]:
318
+ def account_id(self) -> Optional[pulumi.Input[str]]:
225
319
  """
226
320
  The account in which the Synthetics monitor will be created.
227
321
  """
228
322
  return pulumi.get(self, "account_id")
229
323
 
230
324
  @account_id.setter
231
- def account_id(self, value: Optional[pulumi.Input[int]]):
325
+ def account_id(self, value: Optional[pulumi.Input[str]]):
232
326
  pulumi.set(self, "account_id", value)
233
327
 
328
+ @property
329
+ @pulumi.getter
330
+ def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
331
+ """
332
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
333
+ """
334
+ return pulumi.get(self, "browsers")
335
+
336
+ @browsers.setter
337
+ def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
338
+ pulumi.set(self, "browsers", value)
339
+
340
+ @property
341
+ @pulumi.getter
342
+ def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
343
+ """
344
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
345
+ """
346
+ return pulumi.get(self, "devices")
347
+
348
+ @devices.setter
349
+ def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
350
+ pulumi.set(self, "devices", value)
351
+
234
352
  @property
235
353
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
236
354
  def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]:
@@ -247,7 +365,7 @@ class _StepMonitorState:
247
365
  @pulumi.getter
248
366
  def guid(self) -> Optional[pulumi.Input[str]]:
249
367
  """
250
- The unique identifier for the Synthetics private location in New Relic.
368
+ The unique entity identifier of the monitor in New Relic.
251
369
  """
252
370
  return pulumi.get(self, "guid")
253
371
 
@@ -271,7 +389,7 @@ class _StepMonitorState:
271
389
  @pulumi.getter(name="locationsPublics")
272
390
  def locations_publics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
273
391
  """
274
- 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.
392
+ 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.
275
393
  """
276
394
  return pulumi.get(self, "locations_publics")
277
395
 
@@ -295,7 +413,7 @@ class _StepMonitorState:
295
413
  @pulumi.getter
296
414
  def period(self) -> Optional[pulumi.Input[str]]:
297
415
  """
298
- 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.
416
+ 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`.
299
417
  """
300
418
  return pulumi.get(self, "period")
301
419
 
@@ -315,13 +433,35 @@ class _StepMonitorState:
315
433
  def period_in_minutes(self, value: Optional[pulumi.Input[int]]):
316
434
  pulumi.set(self, "period_in_minutes", value)
317
435
 
436
+ @property
437
+ @pulumi.getter(name="runtimeType")
438
+ def runtime_type(self) -> Optional[pulumi.Input[str]]:
439
+ """
440
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
441
+ """
442
+ return pulumi.get(self, "runtime_type")
443
+
444
+ @runtime_type.setter
445
+ def runtime_type(self, value: Optional[pulumi.Input[str]]):
446
+ pulumi.set(self, "runtime_type", value)
447
+
448
+ @property
449
+ @pulumi.getter(name="runtimeTypeVersion")
450
+ def runtime_type_version(self) -> Optional[pulumi.Input[str]]:
451
+ """
452
+ The specific semver version of the runtime type.
453
+ """
454
+ return pulumi.get(self, "runtime_type_version")
455
+
456
+ @runtime_type_version.setter
457
+ def runtime_type_version(self, value: Optional[pulumi.Input[str]]):
458
+ pulumi.set(self, "runtime_type_version", value)
459
+
318
460
  @property
319
461
  @pulumi.getter
320
462
  def status(self) -> Optional[pulumi.Input[str]]:
321
463
  """
322
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
323
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
324
- refrain from using this value and shift to alternatives.
464
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
325
465
  """
326
466
  return pulumi.get(self, "status")
327
467
 
@@ -353,33 +493,45 @@ class _StepMonitorState:
353
493
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]]]):
354
494
  pulumi.set(self, "tags", value)
355
495
 
496
+ @property
497
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
498
+ def use_unsupported_legacy_runtime(self) -> Optional[pulumi.Input[bool]]:
499
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
500
+
501
+ @use_unsupported_legacy_runtime.setter
502
+ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]):
503
+ pulumi.set(self, "use_unsupported_legacy_runtime", value)
504
+
356
505
 
357
506
  class StepMonitor(pulumi.CustomResource):
358
507
  @overload
359
508
  def __init__(__self__,
360
509
  resource_name: str,
361
510
  opts: Optional[pulumi.ResourceOptions] = None,
362
- account_id: Optional[pulumi.Input[int]] = None,
511
+ account_id: Optional[pulumi.Input[str]] = None,
512
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
513
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
363
514
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
364
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorLocationPrivateArgs']]]]] = None,
515
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None,
365
516
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
366
517
  name: Optional[pulumi.Input[str]] = None,
367
518
  period: Optional[pulumi.Input[str]] = None,
519
+ runtime_type: Optional[pulumi.Input[str]] = None,
520
+ runtime_type_version: Optional[pulumi.Input[str]] = None,
368
521
  status: Optional[pulumi.Input[str]] = None,
369
- steps: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorStepArgs']]]]] = None,
370
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorTagArgs']]]]] = None,
522
+ steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorStepArgs', 'StepMonitorStepArgsDict']]]]] = None,
523
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorTagArgs', 'StepMonitorTagArgsDict']]]]] = None,
524
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
371
525
  __props__=None):
372
526
  """
373
- Use this resource to create, update, and delete a Synthetics Step monitor in New Relic.
374
-
375
527
  ## Example Usage
376
528
 
377
- <!--Start PulumiCodeChooser -->
378
529
  ```python
379
530
  import pulumi
380
531
  import pulumi_newrelic as newrelic
381
532
 
382
- monitor = newrelic.synthetics.StepMonitor("monitor",
533
+ foo = newrelic.synthetics.StepMonitor("foo",
534
+ name="Sample Step Monitor",
383
535
  enable_screenshot_on_failure_and_script=True,
384
536
  locations_publics=[
385
537
  "US_EAST_1",
@@ -387,24 +539,72 @@ class StepMonitor(pulumi.CustomResource):
387
539
  ],
388
540
  period="EVERY_6_HOURS",
389
541
  status="ENABLED",
390
- steps=[newrelic.synthetics.StepMonitorStepArgs(
391
- ordinal=0,
392
- type="NAVIGATE",
393
- values=["https://www.newrelic.com"],
394
- )],
395
- tags=[newrelic.synthetics.StepMonitorTagArgs(
396
- key="some_key",
397
- values=["some_value"],
398
- )])
542
+ runtime_type="CHROME_BROWSER",
543
+ runtime_type_version="100",
544
+ devices=[
545
+ "DESKTOP",
546
+ "MOBILE_PORTRAIT",
547
+ "TABLET_LANDSCAPE",
548
+ ],
549
+ browsers=["CHROME"],
550
+ steps=[{
551
+ "ordinal": 0,
552
+ "type": "NAVIGATE",
553
+ "values": ["https://www.newrelic.com"],
554
+ }],
555
+ tags=[{
556
+ "key": "some_key",
557
+ "values": ["some_value"],
558
+ }])
399
559
  ```
400
- <!--End PulumiCodeChooser -->
401
560
  See additional examples.
402
561
 
403
562
  ## Additional Examples
404
563
 
564
+ ### Create a monitor with a private location
565
+
566
+ The below example shows how you can define a private location and attach it to a monitor.
567
+
568
+ > **NOTE:** It can take up to 10 minutes for a private location to become available.
569
+
570
+ ```python
571
+ import pulumi
572
+ import pulumi_newrelic as newrelic
573
+
574
+ foo = newrelic.synthetics.PrivateLocation("foo",
575
+ name="Sample Private Location",
576
+ description="Sample Private Location Description",
577
+ verified_script_execution=True)
578
+ foo_step_monitor = newrelic.synthetics.StepMonitor("foo",
579
+ name="Sample Step Monitor",
580
+ period="EVERY_6_HOURS",
581
+ status="ENABLED",
582
+ runtime_type="CHROME_BROWSER",
583
+ runtime_type_version="100",
584
+ devices=[
585
+ "DESKTOP",
586
+ "MOBILE_PORTRAIT",
587
+ "TABLET_LANDSCAPE",
588
+ ],
589
+ browsers=["CHROME"],
590
+ location_privates=[{
591
+ "guid": foo.id,
592
+ "vse_password": "secret",
593
+ }],
594
+ steps=[{
595
+ "ordinal": 0,
596
+ "type": "NAVIGATE",
597
+ "values": ["https://google.com"],
598
+ }],
599
+ tags=[{
600
+ "key": "some_key",
601
+ "values": ["some_value"],
602
+ }])
603
+ ```
604
+
405
605
  ## Import
406
606
 
407
- Synthetics step monitor scripts can be imported using the `guid`, e.g.
607
+ A step monitor can be imported using its GUID, using the following command.
408
608
 
409
609
  bash
410
610
 
@@ -414,17 +614,19 @@ class StepMonitor(pulumi.CustomResource):
414
614
 
415
615
  :param str resource_name: The name of the resource.
416
616
  :param pulumi.ResourceOptions opts: Options for the resource.
417
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
617
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
618
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
619
+ :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`.
418
620
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
419
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorLocationPrivateArgs']]]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
420
- :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.
621
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
622
+ :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.
421
623
  :param pulumi.Input[str] name: The name for the monitor.
422
- :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.
423
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
424
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
425
- refrain from using this value and shift to alternatives.
426
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorStepArgs']]]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
427
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
624
+ :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`.
625
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
626
+ :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type.
627
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
628
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorStepArgs', 'StepMonitorStepArgsDict']]]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
629
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorTagArgs', 'StepMonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
428
630
  """
429
631
  ...
430
632
  @overload
@@ -433,16 +635,14 @@ class StepMonitor(pulumi.CustomResource):
433
635
  args: StepMonitorArgs,
434
636
  opts: Optional[pulumi.ResourceOptions] = None):
435
637
  """
436
- Use this resource to create, update, and delete a Synthetics Step monitor in New Relic.
437
-
438
638
  ## Example Usage
439
639
 
440
- <!--Start PulumiCodeChooser -->
441
640
  ```python
442
641
  import pulumi
443
642
  import pulumi_newrelic as newrelic
444
643
 
445
- monitor = newrelic.synthetics.StepMonitor("monitor",
644
+ foo = newrelic.synthetics.StepMonitor("foo",
645
+ name="Sample Step Monitor",
446
646
  enable_screenshot_on_failure_and_script=True,
447
647
  locations_publics=[
448
648
  "US_EAST_1",
@@ -450,24 +650,72 @@ class StepMonitor(pulumi.CustomResource):
450
650
  ],
451
651
  period="EVERY_6_HOURS",
452
652
  status="ENABLED",
453
- steps=[newrelic.synthetics.StepMonitorStepArgs(
454
- ordinal=0,
455
- type="NAVIGATE",
456
- values=["https://www.newrelic.com"],
457
- )],
458
- tags=[newrelic.synthetics.StepMonitorTagArgs(
459
- key="some_key",
460
- values=["some_value"],
461
- )])
653
+ runtime_type="CHROME_BROWSER",
654
+ runtime_type_version="100",
655
+ devices=[
656
+ "DESKTOP",
657
+ "MOBILE_PORTRAIT",
658
+ "TABLET_LANDSCAPE",
659
+ ],
660
+ browsers=["CHROME"],
661
+ steps=[{
662
+ "ordinal": 0,
663
+ "type": "NAVIGATE",
664
+ "values": ["https://www.newrelic.com"],
665
+ }],
666
+ tags=[{
667
+ "key": "some_key",
668
+ "values": ["some_value"],
669
+ }])
462
670
  ```
463
- <!--End PulumiCodeChooser -->
464
671
  See additional examples.
465
672
 
466
673
  ## Additional Examples
467
674
 
675
+ ### Create a monitor with a private location
676
+
677
+ The below example shows how you can define a private location and attach it to a monitor.
678
+
679
+ > **NOTE:** It can take up to 10 minutes for a private location to become available.
680
+
681
+ ```python
682
+ import pulumi
683
+ import pulumi_newrelic as newrelic
684
+
685
+ foo = newrelic.synthetics.PrivateLocation("foo",
686
+ name="Sample Private Location",
687
+ description="Sample Private Location Description",
688
+ verified_script_execution=True)
689
+ foo_step_monitor = newrelic.synthetics.StepMonitor("foo",
690
+ name="Sample Step Monitor",
691
+ period="EVERY_6_HOURS",
692
+ status="ENABLED",
693
+ runtime_type="CHROME_BROWSER",
694
+ runtime_type_version="100",
695
+ devices=[
696
+ "DESKTOP",
697
+ "MOBILE_PORTRAIT",
698
+ "TABLET_LANDSCAPE",
699
+ ],
700
+ browsers=["CHROME"],
701
+ location_privates=[{
702
+ "guid": foo.id,
703
+ "vse_password": "secret",
704
+ }],
705
+ steps=[{
706
+ "ordinal": 0,
707
+ "type": "NAVIGATE",
708
+ "values": ["https://google.com"],
709
+ }],
710
+ tags=[{
711
+ "key": "some_key",
712
+ "values": ["some_value"],
713
+ }])
714
+ ```
715
+
468
716
  ## Import
469
717
 
470
- Synthetics step monitor scripts can be imported using the `guid`, e.g.
718
+ A step monitor can be imported using its GUID, using the following command.
471
719
 
472
720
  bash
473
721
 
@@ -490,15 +738,20 @@ class StepMonitor(pulumi.CustomResource):
490
738
  def _internal_init(__self__,
491
739
  resource_name: str,
492
740
  opts: Optional[pulumi.ResourceOptions] = None,
493
- account_id: Optional[pulumi.Input[int]] = None,
741
+ account_id: Optional[pulumi.Input[str]] = None,
742
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
743
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
494
744
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
495
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorLocationPrivateArgs']]]]] = None,
745
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None,
496
746
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
497
747
  name: Optional[pulumi.Input[str]] = None,
498
748
  period: Optional[pulumi.Input[str]] = None,
749
+ runtime_type: Optional[pulumi.Input[str]] = None,
750
+ runtime_type_version: Optional[pulumi.Input[str]] = None,
499
751
  status: Optional[pulumi.Input[str]] = None,
500
- steps: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorStepArgs']]]]] = None,
501
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorTagArgs']]]]] = None,
752
+ steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorStepArgs', 'StepMonitorStepArgsDict']]]]] = None,
753
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorTagArgs', 'StepMonitorTagArgsDict']]]]] = None,
754
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None,
502
755
  __props__=None):
503
756
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
504
757
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -509,6 +762,8 @@ class StepMonitor(pulumi.CustomResource):
509
762
  __props__ = StepMonitorArgs.__new__(StepMonitorArgs)
510
763
 
511
764
  __props__.__dict__["account_id"] = account_id
765
+ __props__.__dict__["browsers"] = browsers
766
+ __props__.__dict__["devices"] = devices
512
767
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
513
768
  __props__.__dict__["location_privates"] = location_privates
514
769
  __props__.__dict__["locations_publics"] = locations_publics
@@ -516,6 +771,8 @@ class StepMonitor(pulumi.CustomResource):
516
771
  if period is None and not opts.urn:
517
772
  raise TypeError("Missing required property 'period'")
518
773
  __props__.__dict__["period"] = period
774
+ __props__.__dict__["runtime_type"] = runtime_type
775
+ __props__.__dict__["runtime_type_version"] = runtime_type_version
519
776
  if status is None and not opts.urn:
520
777
  raise TypeError("Missing required property 'status'")
521
778
  __props__.__dict__["status"] = status
@@ -523,6 +780,7 @@ class StepMonitor(pulumi.CustomResource):
523
780
  raise TypeError("Missing required property 'steps'")
524
781
  __props__.__dict__["steps"] = steps
525
782
  __props__.__dict__["tags"] = tags
783
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
526
784
  __props__.__dict__["guid"] = None
527
785
  __props__.__dict__["period_in_minutes"] = None
528
786
  super(StepMonitor, __self__).__init__(
@@ -535,17 +793,22 @@ class StepMonitor(pulumi.CustomResource):
535
793
  def get(resource_name: str,
536
794
  id: pulumi.Input[str],
537
795
  opts: Optional[pulumi.ResourceOptions] = None,
538
- account_id: Optional[pulumi.Input[int]] = None,
796
+ account_id: Optional[pulumi.Input[str]] = None,
797
+ browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
798
+ devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
539
799
  enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None,
540
800
  guid: Optional[pulumi.Input[str]] = None,
541
- location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorLocationPrivateArgs']]]]] = None,
801
+ location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None,
542
802
  locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
543
803
  name: Optional[pulumi.Input[str]] = None,
544
804
  period: Optional[pulumi.Input[str]] = None,
545
805
  period_in_minutes: Optional[pulumi.Input[int]] = None,
806
+ runtime_type: Optional[pulumi.Input[str]] = None,
807
+ runtime_type_version: Optional[pulumi.Input[str]] = None,
546
808
  status: Optional[pulumi.Input[str]] = None,
547
- steps: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorStepArgs']]]]] = None,
548
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorTagArgs']]]]] = None) -> 'StepMonitor':
809
+ steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorStepArgs', 'StepMonitorStepArgsDict']]]]] = None,
810
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorTagArgs', 'StepMonitorTagArgsDict']]]]] = None,
811
+ use_unsupported_legacy_runtime: Optional[pulumi.Input[bool]] = None) -> 'StepMonitor':
549
812
  """
550
813
  Get an existing StepMonitor resource's state with the given name, id, and optional extra
551
814
  properties used to qualify the lookup.
@@ -553,25 +816,29 @@ class StepMonitor(pulumi.CustomResource):
553
816
  :param str resource_name: The unique name of the resulting resource.
554
817
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
555
818
  :param pulumi.ResourceOptions opts: Options for the resource.
556
- :param pulumi.Input[int] account_id: The account in which the Synthetics monitor will be created.
819
+ :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created.
820
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
821
+ :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`.
557
822
  :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution.
558
- :param pulumi.Input[str] guid: The unique identifier for the Synthetics private location in New Relic.
559
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorLocationPrivateArgs']]]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
560
- :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.
823
+ :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic.
824
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. At least one of `locations_public` or `location_private` is required. See Nested locations_private blocks below for details.
825
+ :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.
561
826
  :param pulumi.Input[str] name: The name for the monitor.
562
- :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.
827
+ :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`.
563
828
  :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run.
564
- :param pulumi.Input[str] status: The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
565
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
566
- refrain from using this value and shift to alternatives.
567
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorStepArgs']]]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
568
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StepMonitorTagArgs']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
829
+ :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
830
+ :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type.
831
+ :param pulumi.Input[str] status: The run state of the monitor. (`ENABLED` or `DISABLED`).
832
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorStepArgs', 'StepMonitorStepArgsDict']]]] steps: The steps that make up the script the monitor will run. See Nested steps blocks below for details.
833
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorTagArgs', 'StepMonitorTagArgsDict']]]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details.
569
834
  """
570
835
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
571
836
 
572
837
  __props__ = _StepMonitorState.__new__(_StepMonitorState)
573
838
 
574
839
  __props__.__dict__["account_id"] = account_id
840
+ __props__.__dict__["browsers"] = browsers
841
+ __props__.__dict__["devices"] = devices
575
842
  __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script
576
843
  __props__.__dict__["guid"] = guid
577
844
  __props__.__dict__["location_privates"] = location_privates
@@ -579,19 +846,38 @@ class StepMonitor(pulumi.CustomResource):
579
846
  __props__.__dict__["name"] = name
580
847
  __props__.__dict__["period"] = period
581
848
  __props__.__dict__["period_in_minutes"] = period_in_minutes
849
+ __props__.__dict__["runtime_type"] = runtime_type
850
+ __props__.__dict__["runtime_type_version"] = runtime_type_version
582
851
  __props__.__dict__["status"] = status
583
852
  __props__.__dict__["steps"] = steps
584
853
  __props__.__dict__["tags"] = tags
854
+ __props__.__dict__["use_unsupported_legacy_runtime"] = use_unsupported_legacy_runtime
585
855
  return StepMonitor(resource_name, opts=opts, __props__=__props__)
586
856
 
587
857
  @property
588
858
  @pulumi.getter(name="accountId")
589
- def account_id(self) -> pulumi.Output[int]:
859
+ def account_id(self) -> pulumi.Output[str]:
590
860
  """
591
861
  The account in which the Synthetics monitor will be created.
592
862
  """
593
863
  return pulumi.get(self, "account_id")
594
864
 
865
+ @property
866
+ @pulumi.getter
867
+ def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]:
868
+ """
869
+ The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.
870
+ """
871
+ return pulumi.get(self, "browsers")
872
+
873
+ @property
874
+ @pulumi.getter
875
+ def devices(self) -> pulumi.Output[Optional[Sequence[str]]]:
876
+ """
877
+ The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.
878
+ """
879
+ return pulumi.get(self, "devices")
880
+
595
881
  @property
596
882
  @pulumi.getter(name="enableScreenshotOnFailureAndScript")
597
883
  def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]:
@@ -604,7 +890,7 @@ class StepMonitor(pulumi.CustomResource):
604
890
  @pulumi.getter
605
891
  def guid(self) -> pulumi.Output[str]:
606
892
  """
607
- The unique identifier for the Synthetics private location in New Relic.
893
+ The unique entity identifier of the monitor in New Relic.
608
894
  """
609
895
  return pulumi.get(self, "guid")
610
896
 
@@ -620,7 +906,7 @@ class StepMonitor(pulumi.CustomResource):
620
906
  @pulumi.getter(name="locationsPublics")
621
907
  def locations_publics(self) -> pulumi.Output[Optional[Sequence[str]]]:
622
908
  """
623
- 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.
909
+ 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.
624
910
  """
625
911
  return pulumi.get(self, "locations_publics")
626
912
 
@@ -636,7 +922,7 @@ class StepMonitor(pulumi.CustomResource):
636
922
  @pulumi.getter
637
923
  def period(self) -> pulumi.Output[str]:
638
924
  """
639
- 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.
925
+ 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`.
640
926
  """
641
927
  return pulumi.get(self, "period")
642
928
 
@@ -648,13 +934,27 @@ class StepMonitor(pulumi.CustomResource):
648
934
  """
649
935
  return pulumi.get(self, "period_in_minutes")
650
936
 
937
+ @property
938
+ @pulumi.getter(name="runtimeType")
939
+ def runtime_type(self) -> pulumi.Output[Optional[str]]:
940
+ """
941
+ The runtime that the monitor will use to run jobs (`CHROME_BROWSER`).
942
+ """
943
+ return pulumi.get(self, "runtime_type")
944
+
945
+ @property
946
+ @pulumi.getter(name="runtimeTypeVersion")
947
+ def runtime_type_version(self) -> pulumi.Output[Optional[str]]:
948
+ """
949
+ The specific semver version of the runtime type.
950
+ """
951
+ return pulumi.get(self, "runtime_type_version")
952
+
651
953
  @property
652
954
  @pulumi.getter
653
955
  def status(self) -> pulumi.Output[str]:
654
956
  """
655
- The monitor status (i.e. ENABLED, MUTED, DISABLED). Note: The 'MUTED' status is now deprecated, and support for this
656
- value will soon be removed from the Terraform Provider in an upcoming release. It is highly recommended for users to
657
- refrain from using this value and shift to alternatives.
957
+ The run state of the monitor. (`ENABLED` or `DISABLED`).
658
958
  """
659
959
  return pulumi.get(self, "status")
660
960
 
@@ -674,3 +974,8 @@ class StepMonitor(pulumi.CustomResource):
674
974
  """
675
975
  return pulumi.get(self, "tags")
676
976
 
977
+ @property
978
+ @pulumi.getter(name="useUnsupportedLegacyRuntime")
979
+ def use_unsupported_legacy_runtime(self) -> pulumi.Output[Optional[bool]]:
980
+ return pulumi.get(self, "use_unsupported_legacy_runtime")
981
+