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 Synthetics Step monitor in New Relic. * * > **IMPORTANT:** The **Synthetics Legacy Runtime** will reach its end-of-life on Aug 18, 2026. 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 against `runtimeType` and `runtimeTypeVersion` in the **Argument Reference** section. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const foo = new newrelic.synthetics.StepMonitor("foo", { * name: "Sample Step Monitor", * enableScreenshotOnFailureAndScript: true, * locationsPublics: [ * "US_EAST_1", * "US_EAST_2", * ], * period: "EVERY_6_HOURS", * status: "ENABLED", * runtimeType: "CHROME_BROWSER", * runtimeTypeVersion: "LATEST", * devices: [ * "DESKTOP", * "MOBILE_PORTRAIT", * "TABLET_LANDSCAPE", * ], * browsers: ["CHROME"], * steps: [{ * ordinal: 0, * type: "NAVIGATE", * values: ["https://www.newrelic.com"], * }], * 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. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as newrelic from "@pulumi/newrelic"; * * const foo = new newrelic.synthetics.PrivateLocation("foo", { * name: "Sample Private Location", * description: "Sample Private Location Description", * verifiedScriptExecution: true, * }); * const fooStepMonitor = new newrelic.synthetics.StepMonitor("foo", { * name: "Sample Step Monitor", * period: "EVERY_6_HOURS", * status: "ENABLED", * runtimeType: "CHROME_BROWSER", * runtimeTypeVersion: "LATEST", * devices: [ * "DESKTOP", * "MOBILE_PORTRAIT", * "TABLET_LANDSCAPE", * ], * browsers: ["CHROME"], * locationPrivates: [{ * guid: foo.id, * vsePassword: "secret", * }], * steps: [{ * ordinal: 0, * type: "NAVIGATE", * values: ["https://google.com"], * }], * tags: [{ * key: "some_key", * values: ["some_value"], * }], * }); * ``` * * ## Import * * A step monitor can be imported using its GUID, using the following command. * * ```sh * $ pulumi import newrelic:synthetics/stepMonitor:StepMonitor monitor * ``` */ export declare class StepMonitor extends pulumi.CustomResource { /** * Get an existing StepMonitor 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?: StepMonitorState, opts?: pulumi.CustomResourceOptions): StepMonitor; /** * Returns true if the given object is an instance of StepMonitor. 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 StepMonitor; /** * 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; /** * 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. At least one of `locationsPublic` or `locationPrivate` is required. See Nested locationsPrivate blocks below for details. */ 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. You don't need the `AWS_` prefix 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 step 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 (`CHROME_BROWSER`). */ readonly runtimeType: pulumi.Output; /** * The specific version of the runtime type selected. Use `LATEST` to automatically use the latest Chrome version (currently 146, will be automatically upgraded to Chrome 147 or higher on Aug 18, 2026, updated automatically as new versions are released). **Note:** The Terraform Provider enforces `LATEST` for this non-scripted monitor type in alignment with the New Relic UI — even if a specific version is hard-coded in your configuration, the provider will override it to `LATEST`. We recommend explicitly setting `runtimeTypeVersion = "LATEST"` in your configuration to avoid drift. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026, implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end as of Aug 18, 2026. 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://forum.newrelic.com/s/hubtopic/aAXPh0000001brxOAA/upcoming-endoflife-legacy-synthetics-runtimes-and-cpm) 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. */ readonly runtimeTypeVersion: pulumi.Output; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ readonly status: pulumi.Output; /** * The steps that make up the script the monitor will run. See Nested steps blocks below for details. */ readonly steps: pulumi.Output; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. */ readonly tags: 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 StepMonitor 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: StepMonitorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering StepMonitor resources. */ export interface StepMonitorState { /** * 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>; /** * 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. At least one of `locationsPublic` or `locationPrivate` is required. See Nested locationsPrivate blocks below for details. */ 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. You don't need the `AWS_` prefix 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 step 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 (`CHROME_BROWSER`). */ runtimeType?: pulumi.Input; /** * The specific version of the runtime type selected. Use `LATEST` to automatically use the latest Chrome version (currently 146, will be automatically upgraded to Chrome 147 or higher on Aug 18, 2026, updated automatically as new versions are released). **Note:** The Terraform Provider enforces `LATEST` for this non-scripted monitor type in alignment with the New Relic UI — even if a specific version is hard-coded in your configuration, the provider will override it to `LATEST`. We recommend explicitly setting `runtimeTypeVersion = "LATEST"` in your configuration to avoid drift. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026, implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end as of Aug 18, 2026. 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://forum.newrelic.com/s/hubtopic/aAXPh0000001brxOAA/upcoming-endoflife-legacy-synthetics-runtimes-and-cpm) 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. */ runtimeTypeVersion?: pulumi.Input; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ status?: pulumi.Input; /** * The steps that make up the script the monitor will run. See Nested steps blocks below for details. */ steps?: pulumi.Input[] | undefined>; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. */ tags?: pulumi.Input[] | undefined>; /** * 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 StepMonitor resource. */ export interface StepMonitorArgs { /** * 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>; /** * 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. At least one of `locationsPublic` or `locationPrivate` is required. See Nested locationsPrivate blocks below for details. */ 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. You don't need the `AWS_` prefix 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 (`CHROME_BROWSER`). */ runtimeType?: pulumi.Input; /** * The specific version of the runtime type selected. Use `LATEST` to automatically use the latest Chrome version (currently 146, will be automatically upgraded to Chrome 147 or higher on Aug 18, 2026, updated automatically as new versions are released). **Note:** The Terraform Provider enforces `LATEST` for this non-scripted monitor type in alignment with the New Relic UI — even if a specific version is hard-coded in your configuration, the provider will override it to `LATEST`. We recommend explicitly setting `runtimeTypeVersion = "LATEST"` in your configuration to avoid drift. * * > **WARNING:** The end-of-life of the **Synthetics Legacy Runtime** will take effect on Aug 18, 2026, implying that support for using the deprecated Synthetics Legacy Runtime with **new and existing** Synthetic monitors will officially end as of Aug 18, 2026. 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://forum.newrelic.com/s/hubtopic/aAXPh0000001brxOAA/upcoming-endoflife-legacy-synthetics-runtimes-and-cpm) 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. */ runtimeTypeVersion?: pulumi.Input; /** * The run state of the monitor. (`ENABLED` or `DISABLED`). */ status: pulumi.Input; /** * The steps that make up the script the monitor will run. See Nested steps blocks below for details. */ steps: pulumi.Input[]>; /** * The tags that will be associated with the monitor. See Nested tag blocks below for details. */ tags?: pulumi.Input[] | undefined>; /** * 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=stepMonitor.d.ts.map