import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Use this resource to create update, and delete a Script API or Script Browser Synthetics Monitor in New Relic. * * > **IMPORTANT:** The **Synthetics Legacy Runtime** will reach its end-of-life on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`). As a consequence, using the legacy runtime with Synthetic monitor requests from the New Relic Terraform Provider will result in API errors. Starting with **v3.51.0** of the New Relic Terraform Provider, configurations of Synthetic monitors without runtime attributes or comprising legacy runtime values will be deemed invalid. *

* If your Synthetic monitors' configuration is not updated already with new runtime values, upgrade as soon as possible to avoid these consequences. For more details and instructions, please see the detailed warning in the **Deprecated Runtime** section. * * ## Example Usage * * ##### Type: `SCRIPT_API` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const monitor = new newrelic.synthetics.ScriptMonitor("monitor", { * status: "ENABLED", * name: "script_monitor", * type: "SCRIPT_API", * locationsPublics: [ * "AP_SOUTH_1", * "AP_EAST_1", * ], * period: "EVERY_6_HOURS", * script: "console.log('it works!')", * scriptLanguage: "JAVASCRIPT", * runtimeType: "NODE_API", * runtimeTypeVersion: "22.20.0", * tags: [{ * key: "some_key", * values: ["some_value"], * }], * }); * ``` * ##### Type: `SCRIPT_BROWSER` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const monitor = new newrelic.synthetics.ScriptMonitor("monitor", { * status: "ENABLED", * name: "script_monitor", * type: "SCRIPT_BROWSER", * locationsPublics: [ * "AP_SOUTH_1", * "AP_EAST_1", * ], * period: "EVERY_HOUR", * script: "$browser.get('https://one.newrelic.com')", * runtimeTypeVersion: "LATEST", * runtimeType: "CHROME_BROWSER", * scriptLanguage: "JAVASCRIPT", * devices: [ * "DESKTOP", * "MOBILE_PORTRAIT", * "TABLET_LANDSCAPE", * ], * browsers: ["CHROME"], * enableScreenshotOnFailureAndScript: false, * tags: [{ * key: "some_key", * values: ["some_value"], * }], * }); * ``` * See additional examples. * * ## Additional Examples * * ### Create a monitor with a private location * * The below example shows how you can define a private location and attach it to a monitor. * * > **NOTE:** It can take up to 10 minutes for a private location to become available. * * ##### Type: `SCRIPT_API` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const location = new newrelic.synthetics.PrivateLocation("location", { * description: "Example private location", * name: "private_location", * verifiedScriptExecution: true, * }); * const monitor = new newrelic.synthetics.ScriptMonitor("monitor", { * status: "ENABLED", * name: "script_monitor", * type: "SCRIPT_API", * locationPrivates: [{ * guid: location.id, * vsePassword: "secret", * }], * period: "EVERY_6_HOURS", * script: "console.log('terraform integration test updated')", * scriptLanguage: "JAVASCRIPT", * runtimeType: "NODE_API", * runtimeTypeVersion: "22.20.0", * tags: [{ * key: "some_key", * values: ["some_value"], * }], * }); * ``` * ##### Type: `SCRIPT_BROWSER` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const location = new newrelic.synthetics.PrivateLocation("location", { * description: "Test Description", * name: "private_location", * verifiedScriptExecution: true, * }); * const monitor = new newrelic.synthetics.ScriptMonitor("monitor", { * status: "ENABLED", * name: "script_monitor", * type: "SCRIPT_BROWSER", * period: "EVERY_HOUR", * script: "$browser.get('https://one.newrelic.com')", * runtimeTypeVersion: "LATEST", * runtimeType: "CHROME_BROWSER", * scriptLanguage: "JAVASCRIPT", * devices: [ * "DESKTOP", * "MOBILE_PORTRAIT", * "TABLET_LANDSCAPE", * ], * browsers: ["CHROME"], * enableScreenshotOnFailureAndScript: false, * locationPrivates: [{ * guid: location.id, * vsePassword: "secret", * }], * tags: [{ * key: "some_key", * values: ["some_value"], * }], * }); * ``` * * ### Create a monitor and a secure credential * * The following example shows how to use `dependsOn` to create a monitor that uses a new secure credential. * The `dependsOn` creates an explicit dependency between resources to ensure that the secure credential is created before the monitor that uses it. * * > **NOTE:** Use the `dependsOn` when you are creating both monitor and its secure credentials together. * * ##### Type: `SCRIPT_BROWSER` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const exampleCredential = new newrelic.synthetics.SecureCredential("example_credential", { * key: "TEST_SECURE_CREDENTIAL", * value: "some_value", * }); * const exampleScriptMonitor = new newrelic.synthetics.ScriptMonitor("example_script_monitor", { * name: "script_monitor", * type: "SCRIPT_BROWSER", * period: "EVERY_HOUR", * locationsPublics: ["US_EAST_1"], * status: "ENABLED", * script: ` var assert = require('assert'); * var secureCredential = secure.TEST_SECURE_CREDENTIAL; * `, * scriptLanguage: "JAVASCRIPT", * runtimeType: "CHROME_BROWSER", * runtimeTypeVersion: "LATEST", * }, { * dependsOn: [exampleCredential], * }); * ``` * * ## Import * * Synthetics monitor scripts can be imported using the `guid`, e.g. * * ```sh * $ pulumi import newrelic:synthetics/scriptMonitor:ScriptMonitor monitor * ``` */ export declare class ScriptMonitor extends pulumi.CustomResource { /** * Get an existing ScriptMonitor resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ScriptMonitorState, opts?: pulumi.CustomResourceOptions): ScriptMonitor; /** * Returns true if the given object is an instance of ScriptMonitor. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ScriptMonitor; /** * The account in which the Synthetics monitor will be created. */ readonly accountId: pulumi.Output; /** * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. */ readonly browsers: pulumi.Output; /** * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. */ readonly deviceOrientation: pulumi.Output; /** * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`), implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`). As a consequence of this API change, all requests associated with Synthetic Monitors (except Ping Monitors) going out of the New Relic Terraform Provider will be blocked by an API error if they include values corresponding to the legacy runtime. *

* Following these changes, starting with v3.51.0 of the New Relic Terraform Provider, configuration of **new and existing** Synthetic monitors without runtime attributes (or) comprising runtime attributes signifying the legacy runtime will be deemed invalid (this applies to all Synthetic monitor resources, except `newrelic.synthetics.Monitor` with type `SIMPLE`). If your monitors' configuration is not updated with new runtime values, you will see the consequences stated here. *

* We kindly recommend that you upgrade your Synthetic Monitors to the new runtime as soon as possible if they are still using the legacy runtime, to avoid seeing the aforementioned consequences. Please check out this guide in the documentation of the Terraform Provider (specifically, the table at the bottom of the guide, if you're looking for updates to be made to the configuration of Synthetic monitors) and [this announcement](https://docs.newrelic.com/eol/2025/11/eol-chrome-140-node-22-synthetics/) for more details on the EOL, actions needed, relevant resources, and more. *

* You would not be affected by the EOL if your Synthetic monitors' Terraform configuration comprises new runtime values. *

* **Important — Scripted Monitor Specific Behavior:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version upgrade for scripted monitors (`SCRIPT_API` and `SCRIPT_BROWSER`). If you do not update your Terraform configuration before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`CHROME_BROWSER LATEST` for `SCRIPT_BROWSER` on Aug 18, 2026; `NODE_API 22.20.0` for `SCRIPT_API` on Nov 18, 2026). This will cause your Terraform state to drift — `pulumi preview` will show the runtime has changed, and a `pulumi up` without updating the configuration will fail with an API error. Update your configuration before these dates to avoid interruption. */ readonly deviceType: pulumi.Output; /** * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. */ readonly devices: pulumi.Output; /** * Capture a screenshot during job execution. */ readonly enableScreenshotOnFailureAndScript: pulumi.Output; /** * The unique entity identifier of the monitor in New Relic. */ readonly guid: pulumi.Output; /** * The location the monitor will run from. See Nested locationPrivate blocks below for details. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ readonly locationPrivates: pulumi.Output; /** * The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ readonly locationsPublics: pulumi.Output; /** * The monitor id of the Synthetics script monitor (not to be confused with the GUID of the monitor). */ readonly monitorId: pulumi.Output; /** * The name for the monitor. */ readonly name: pulumi.Output; /** * 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`. */ readonly period: pulumi.Output; /** * The interval in minutes at which Synthetic monitor should run. */ readonly periodInMinutes: pulumi.Output; /** * The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`. */ readonly runtimeType: pulumi.Output; /** * The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, use `22.20.0`, which corresponds to Node.js 22.20.0. For the `SCRIPT_BROWSER` monitor type, use `LATEST` to automatically use the latest Chrome version. **Note:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version for scripted monitors — customers must explicitly update their configuration. If the configuration is not updated before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`SCRIPT_BROWSER` monitors on Aug 18, 2026; `SCRIPT_API` monitors on Nov 18, 2026), resulting in Terraform state drift and API errors on subsequent `pulumi up` runs. */ readonly runtimeTypeVersion: pulumi.Output; /** * The script that the monitor runs. */ readonly script: pulumi.Output; /** * The programing language that should execute the script. */ readonly scriptLanguage: pulumi.Output; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ readonly status: pulumi.Output; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. * * The `SCRIPTED_BROWSER` monitor type supports the following additional arguments: */ readonly tags: pulumi.Output; /** * The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API */ readonly type: pulumi.Output; /** * A boolean attribute to be set true by the customer, if they would like to use the unsupported legacy runtime of Synthetic Monitors by means of an exemption given until the October 22, 2024 Legacy Runtime EOL. Setting this attribute to true would allow skipping validation performed by the the New Relic Terraform Provider starting v3.43.0 to disallow using the legacy runtime with new monitors. This would, hence, allow creation of monitors in the legacy runtime until the October 22, 2024 Legacy Runtime EOL, if exempt by the API. */ readonly useUnsupportedLegacyRuntime: pulumi.Output; /** * Create a ScriptMonitor resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ScriptMonitorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ScriptMonitor resources. */ export interface ScriptMonitorState { /** * The account in which the Synthetics monitor will be created. */ accountId?: pulumi.Input; /** * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. */ browsers?: pulumi.Input[] | undefined>; /** * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. */ deviceOrientation?: pulumi.Input; /** * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`), implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`). As a consequence of this API change, all requests associated with Synthetic Monitors (except Ping Monitors) going out of the New Relic Terraform Provider will be blocked by an API error if they include values corresponding to the legacy runtime. *

* Following these changes, starting with v3.51.0 of the New Relic Terraform Provider, configuration of **new and existing** Synthetic monitors without runtime attributes (or) comprising runtime attributes signifying the legacy runtime will be deemed invalid (this applies to all Synthetic monitor resources, except `newrelic.synthetics.Monitor` with type `SIMPLE`). If your monitors' configuration is not updated with new runtime values, you will see the consequences stated here. *

* We kindly recommend that you upgrade your Synthetic Monitors to the new runtime as soon as possible if they are still using the legacy runtime, to avoid seeing the aforementioned consequences. Please check out this guide in the documentation of the Terraform Provider (specifically, the table at the bottom of the guide, if you're looking for updates to be made to the configuration of Synthetic monitors) and [this announcement](https://docs.newrelic.com/eol/2025/11/eol-chrome-140-node-22-synthetics/) for more details on the EOL, actions needed, relevant resources, and more. *

* You would not be affected by the EOL if your Synthetic monitors' Terraform configuration comprises new runtime values. *

* **Important — Scripted Monitor Specific Behavior:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version upgrade for scripted monitors (`SCRIPT_API` and `SCRIPT_BROWSER`). If you do not update your Terraform configuration before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`CHROME_BROWSER LATEST` for `SCRIPT_BROWSER` on Aug 18, 2026; `NODE_API 22.20.0` for `SCRIPT_API` on Nov 18, 2026). This will cause your Terraform state to drift — `pulumi preview` will show the runtime has changed, and a `pulumi up` without updating the configuration will fail with an API error. Update your configuration before these dates to avoid interruption. */ deviceType?: pulumi.Input; /** * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. */ devices?: pulumi.Input[] | undefined>; /** * Capture a screenshot during job execution. */ enableScreenshotOnFailureAndScript?: pulumi.Input; /** * The unique entity identifier of the monitor in New Relic. */ guid?: pulumi.Input; /** * The location the monitor will run from. See Nested locationPrivate blocks below for details. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ locationPrivates?: pulumi.Input[] | undefined>; /** * The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ locationsPublics?: pulumi.Input[] | undefined>; /** * The monitor id of the Synthetics script monitor (not to be confused with the GUID of the monitor). */ monitorId?: pulumi.Input; /** * The name for the monitor. */ name?: pulumi.Input; /** * 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`. */ period?: pulumi.Input; /** * The interval in minutes at which Synthetic monitor should run. */ periodInMinutes?: pulumi.Input; /** * The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`. */ runtimeType?: pulumi.Input; /** * The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, use `22.20.0`, which corresponds to Node.js 22.20.0. For the `SCRIPT_BROWSER` monitor type, use `LATEST` to automatically use the latest Chrome version. **Note:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version for scripted monitors — customers must explicitly update their configuration. If the configuration is not updated before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`SCRIPT_BROWSER` monitors on Aug 18, 2026; `SCRIPT_API` monitors on Nov 18, 2026), resulting in Terraform state drift and API errors on subsequent `pulumi up` runs. */ runtimeTypeVersion?: pulumi.Input; /** * The script that the monitor runs. */ script?: pulumi.Input; /** * The programing language that should execute the script. */ scriptLanguage?: pulumi.Input; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ status?: pulumi.Input; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. * * The `SCRIPTED_BROWSER` monitor type supports the following additional arguments: */ tags?: pulumi.Input[] | undefined>; /** * The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API */ type?: pulumi.Input; /** * A boolean attribute to be set true by the customer, if they would like to use the unsupported legacy runtime of Synthetic Monitors by means of an exemption given until the October 22, 2024 Legacy Runtime EOL. Setting this attribute to true would allow skipping validation performed by the the New Relic Terraform Provider starting v3.43.0 to disallow using the legacy runtime with new monitors. This would, hence, allow creation of monitors in the legacy runtime until the October 22, 2024 Legacy Runtime EOL, if exempt by the API. */ useUnsupportedLegacyRuntime?: pulumi.Input; } /** * The set of arguments for constructing a ScriptMonitor resource. */ export interface ScriptMonitorArgs { /** * The account in which the Synthetics monitor will be created. */ accountId?: pulumi.Input; /** * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. */ browsers?: pulumi.Input[] | undefined>; /** * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. */ deviceOrientation?: pulumi.Input; /** * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `deviceType`,`deviceOrientation` fields, as it allows you to select multiple combinations of device types and orientations. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`), implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end on Aug 18, 2026 (`SCRIPT_BROWSER`) and Nov 18, 2026 (`SCRIPT_API`). As a consequence of this API change, all requests associated with Synthetic Monitors (except Ping Monitors) going out of the New Relic Terraform Provider will be blocked by an API error if they include values corresponding to the legacy runtime. *

* Following these changes, starting with v3.51.0 of the New Relic Terraform Provider, configuration of **new and existing** Synthetic monitors without runtime attributes (or) comprising runtime attributes signifying the legacy runtime will be deemed invalid (this applies to all Synthetic monitor resources, except `newrelic.synthetics.Monitor` with type `SIMPLE`). If your monitors' configuration is not updated with new runtime values, you will see the consequences stated here. *

* We kindly recommend that you upgrade your Synthetic Monitors to the new runtime as soon as possible if they are still using the legacy runtime, to avoid seeing the aforementioned consequences. Please check out this guide in the documentation of the Terraform Provider (specifically, the table at the bottom of the guide, if you're looking for updates to be made to the configuration of Synthetic monitors) and [this announcement](https://docs.newrelic.com/eol/2025/11/eol-chrome-140-node-22-synthetics/) for more details on the EOL, actions needed, relevant resources, and more. *

* You would not be affected by the EOL if your Synthetic monitors' Terraform configuration comprises new runtime values. *

* **Important — Scripted Monitor Specific Behavior:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version upgrade for scripted monitors (`SCRIPT_API` and `SCRIPT_BROWSER`). If you do not update your Terraform configuration before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`CHROME_BROWSER LATEST` for `SCRIPT_BROWSER` on Aug 18, 2026; `NODE_API 22.20.0` for `SCRIPT_API` on Nov 18, 2026). This will cause your Terraform state to drift — `pulumi preview` will show the runtime has changed, and a `pulumi up` without updating the configuration will fail with an API error. Update your configuration before these dates to avoid interruption. */ deviceType?: pulumi.Input; /** * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. */ devices?: pulumi.Input[] | undefined>; /** * Capture a screenshot during job execution. */ enableScreenshotOnFailureAndScript?: pulumi.Input; /** * The location the monitor will run from. See Nested locationPrivate blocks below for details. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ locationPrivates?: pulumi.Input[] | undefined>; /** * The location the monitor will run from. Check out [this page](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/administration/synthetic-public-minion-ips/) for a list of valid public locations. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. */ locationsPublics?: pulumi.Input[] | undefined>; /** * The name for the monitor. */ name?: pulumi.Input; /** * 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`. */ period: pulumi.Input; /** * The runtime that the monitor will use to run jobs. For the `SCRIPT_API` monitor type, a valid value is `NODE_API`. For the `SCRIPT_BROWSER` monitor type, a valid value is `CHROME_BROWSER`. */ runtimeType?: pulumi.Input; /** * The specific version of the runtime type selected. For the `SCRIPT_API` monitor type, use `22.20.0`, which corresponds to Node.js 22.20.0. For the `SCRIPT_BROWSER` monitor type, use `LATEST` to automatically use the latest Chrome version. **Note:** Unlike non-scripted monitors, the Terraform Provider does **not** automatically enforce a runtime version for scripted monitors — customers must explicitly update their configuration. If the configuration is not updated before the respective force upgrade date, the Synthetics API will force-upgrade these monitors to the latest runtime (`SCRIPT_BROWSER` monitors on Aug 18, 2026; `SCRIPT_API` monitors on Nov 18, 2026), resulting in Terraform state drift and API errors on subsequent `pulumi up` runs. */ runtimeTypeVersion?: pulumi.Input; /** * The script that the monitor runs. */ script?: pulumi.Input; /** * The programing language that should execute the script. */ scriptLanguage?: pulumi.Input; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ status: pulumi.Input; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. * * The `SCRIPTED_BROWSER` monitor type supports the following additional arguments: */ tags?: pulumi.Input[] | undefined>; /** * The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API */ type: pulumi.Input; /** * A boolean attribute to be set true by the customer, if they would like to use the unsupported legacy runtime of Synthetic Monitors by means of an exemption given until the October 22, 2024 Legacy Runtime EOL. Setting this attribute to true would allow skipping validation performed by the the New Relic Terraform Provider starting v3.43.0 to disallow using the legacy runtime with new monitors. This would, hence, allow creation of monitors in the legacy runtime until the October 22, 2024 Legacy Runtime EOL, if exempt by the API. */ useUnsupportedLegacyRuntime?: pulumi.Input; } //# sourceMappingURL=scriptMonitor.d.ts.map