diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 7092c7c4..d183d4ac 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.15.0 \ No newline at end of file +0.16.0 \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-newrelic/bridge-metadata.json b/provider/cmd/pulumi-resource-newrelic/bridge-metadata.json index e05ece70..2c5db85f 100644 --- a/provider/cmd/pulumi-resource-newrelic/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-newrelic/bridge-metadata.json @@ -2167,9 +2167,15 @@ "current": "newrelic:synthetics/monitor:Monitor", "majorVersion": 5, "fields": { + "browsers": { + "maxItemsOne": false + }, "custom_header": { "maxItemsOne": false }, + "devices": { + "maxItemsOne": false + }, "locations_private": { "maxItemsOne": false }, @@ -2211,6 +2217,12 @@ "current": "newrelic:synthetics/scriptMonitor:ScriptMonitor", "majorVersion": 5, "fields": { + "browsers": { + "maxItemsOne": false + }, + "devices": { + "maxItemsOne": false + }, "location_private": { "maxItemsOne": false }, @@ -2237,6 +2249,12 @@ "current": "newrelic:synthetics/stepMonitor:StepMonitor", "majorVersion": 5, "fields": { + "browsers": { + "maxItemsOne": false + }, + "devices": { + "maxItemsOne": false + }, "location_private": { "maxItemsOne": false }, diff --git a/provider/cmd/pulumi-resource-newrelic/schema.json b/provider/cmd/pulumi-resource-newrelic/schema.json index 4514bf34..f26b5d56 100644 --- a/provider/cmd/pulumi-resource-newrelic/schema.json +++ b/provider/cmd/pulumi-resource-newrelic/schema.json @@ -14034,12 +14034,19 @@ } }, "newrelic:synthetics/monitor:Monitor": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"SIMPLE\",\n locationsPublics: [\"AP_SOUTH_1\"],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n treatRedirectAsFailure: true,\n validationString: \"success\",\n bypassHeadRequest: true,\n verifySsl: true,\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"SIMPLE\",\n locations_publics=[\"AP_SOUTH_1\"],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n treat_redirect_as_failure=True,\n validation_string=\"success\",\n bypass_head_request=True,\n verify_ssl=True,\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"SIMPLE\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n TreatRedirectAsFailure = true,\n ValidationString = \"success\",\n BypassHeadRequest = true,\n VerifySsl = true,\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"SIMPLE\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTreatRedirectAsFailure: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tBypassHeadRequest: pulumi.Bool(true),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"SIMPLE\")\n .locationsPublics(\"AP_SOUTH_1\")\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .treatRedirectAsFailure(true)\n .validationString(\"success\")\n .bypassHeadRequest(true)\n .verifySsl(true)\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: SIMPLE\n locationsPublics:\n - AP_SOUTH_1\n customHeaders:\n - name: some_name\n value: some_value\n treatRedirectAsFailure: true\n validationString: success\n bypassHeadRequest: true\n verifySsl: true\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SIMPLE BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"BROWSER\",\n locationsPublics: [\"AP_SOUTH_1\"],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n enableScreenshotOnFailureAndScript: true,\n validationString: \"success\",\n verifySsl: true,\n runtimeType: \"CHROME_BROWSER\",\n runtimeTypeVersion: \"100\",\n scriptLanguage: \"JAVASCRIPT\",\n deviceType: \"MOBILE\",\n deviceOrientation: \"LANDSCAPE\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"BROWSER\",\n locations_publics=[\"AP_SOUTH_1\"],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n enable_screenshot_on_failure_and_script=True,\n validation_string=\"success\",\n verify_ssl=True,\n runtime_type=\"CHROME_BROWSER\",\n runtime_type_version=\"100\",\n script_language=\"JAVASCRIPT\",\n device_type=\"MOBILE\",\n device_orientation=\"LANDSCAPE\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"BROWSER\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n EnableScreenshotOnFailureAndScript = true,\n ValidationString = \"success\",\n VerifySsl = true,\n RuntimeType = \"CHROME_BROWSER\",\n RuntimeTypeVersion = \"100\",\n ScriptLanguage = \"JAVASCRIPT\",\n DeviceType = \"MOBILE\",\n DeviceOrientation = \"LANDSCAPE\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"BROWSER\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDeviceType: pulumi.String(\"MOBILE\"),\n\t\t\tDeviceOrientation: pulumi.String(\"LANDSCAPE\"),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"BROWSER\")\n .locationsPublics(\"AP_SOUTH_1\")\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .enableScreenshotOnFailureAndScript(true)\n .validationString(\"success\")\n .verifySsl(true)\n .runtimeType(\"CHROME_BROWSER\")\n .runtimeTypeVersion(\"100\")\n .scriptLanguage(\"JAVASCRIPT\")\n .deviceType(\"MOBILE\")\n .deviceOrientation(\"LANDSCAPE\")\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: BROWSER\n locationsPublics:\n - AP_SOUTH_1\n customHeaders:\n - name: some_name\n value: some_value\n enableScreenshotOnFailureAndScript: true\n validationString: success\n verifySsl: true\n runtimeType: CHROME_BROWSER\n runtimeTypeVersion: '100'\n scriptLanguage: JAVASCRIPT\n deviceType: MOBILE\n deviceOrientation: LANDSCAPE\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n##### Type: `SIMPLE`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private_location\",\n verifiedScriptExecution: false,\n});\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"SIMPLE\",\n locationsPrivates: [location.id],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n treatRedirectAsFailure: true,\n validationString: \"success\",\n bypassHeadRequest: true,\n verifySsl: true,\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private_location\",\n verified_script_execution=False)\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"SIMPLE\",\n locations_privates=[location.id],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n treat_redirect_as_failure=True,\n validation_string=\"success\",\n bypass_head_request=True,\n verify_ssl=True,\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private_location\",\n VerifiedScriptExecution = false,\n });\n\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"SIMPLE\",\n LocationsPrivates = new[]\n {\n location.Id,\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n TreatRedirectAsFailure = true,\n ValidationString = \"success\",\n BypassHeadRequest = true,\n VerifySsl = true,\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"SIMPLE\"),\n\t\t\tLocationsPrivates: pulumi.StringArray{\n\t\t\t\tlocation.ID(),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTreatRedirectAsFailure: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tBypassHeadRequest: pulumi.Bool(true),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private_location\")\n .verifiedScriptExecution(false)\n .build());\n\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"SIMPLE\")\n .locationsPrivates(location.id())\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .treatRedirectAsFailure(true)\n .validationString(\"success\")\n .bypassHeadRequest(true)\n .verifySsl(true)\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private_location\n verifiedScriptExecution: false\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: SIMPLE\n locationsPrivates:\n - ${location.id}\n customHeaders:\n - name: some_name\n value: some_value\n treatRedirectAsFailure: true\n validationString: success\n bypassHeadRequest: true\n verifySsl: true\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private-location\",\n verifiedScriptExecution: false,\n});\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n type: \"BROWSER\",\n uri: \"https://www.one.newrelic.com\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n locationsPrivates: [location.id],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n enableScreenshotOnFailureAndScript: true,\n validationString: \"success\",\n verifySsl: true,\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private-location\",\n verified_script_execution=False)\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n type=\"BROWSER\",\n uri=\"https://www.one.newrelic.com\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n locations_privates=[location.id],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n enable_screenshot_on_failure_and_script=True,\n validation_string=\"success\",\n verify_ssl=True,\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private-location\",\n VerifiedScriptExecution = false,\n });\n\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Type = \"BROWSER\",\n Uri = \"https://www.one.newrelic.com\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n LocationsPrivates = new[]\n {\n location.Id,\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n EnableScreenshotOnFailureAndScript = true,\n ValidationString = \"success\",\n VerifySsl = true,\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private-location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tType: pulumi.String(\"BROWSER\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tLocationsPrivates: pulumi.StringArray{\n\t\t\t\tlocation.ID(),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private-location\")\n .verifiedScriptExecution(false)\n .build());\n\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .type(\"BROWSER\")\n .uri(\"https://www.one.newrelic.com\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .locationsPrivates(location.id())\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .enableScreenshotOnFailureAndScript(true)\n .validationString(\"success\")\n .verifySsl(true)\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private-location\n verifiedScriptExecution: false\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n type: BROWSER\n uri: https://www.one.newrelic.com\n name: monitor\n period: EVERY_MINUTE\n locationsPrivates:\n - ${location.id}\n customHeaders:\n - name: some_name\n value: some_value\n enableScreenshotOnFailureAndScript: true\n validationString: success\n verifySsl: true\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics monitor can be imported using the `guid`, e.g.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/monitor:Monitor monitor \u003cguid\u003e\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"SIMPLE\",\n locationsPublics: [\"AP_SOUTH_1\"],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n treatRedirectAsFailure: true,\n validationString: \"success\",\n bypassHeadRequest: true,\n verifySsl: true,\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"SIMPLE\",\n locations_publics=[\"AP_SOUTH_1\"],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n treat_redirect_as_failure=True,\n validation_string=\"success\",\n bypass_head_request=True,\n verify_ssl=True,\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"SIMPLE\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n TreatRedirectAsFailure = true,\n ValidationString = \"success\",\n BypassHeadRequest = true,\n VerifySsl = true,\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"SIMPLE\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTreatRedirectAsFailure: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tBypassHeadRequest: pulumi.Bool(true),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"SIMPLE\")\n .locationsPublics(\"AP_SOUTH_1\")\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .treatRedirectAsFailure(true)\n .validationString(\"success\")\n .bypassHeadRequest(true)\n .verifySsl(true)\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: SIMPLE\n locationsPublics:\n - AP_SOUTH_1\n customHeaders:\n - name: some_name\n value: some_value\n treatRedirectAsFailure: true\n validationString: success\n bypassHeadRequest: true\n verifySsl: true\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SIMPLE BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"BROWSER\",\n locationsPublics: [\"AP_SOUTH_1\"],\n enableScreenshotOnFailureAndScript: true,\n validationString: \"success\",\n verifySsl: true,\n runtimeType: \"CHROME_BROWSER\",\n runtimeTypeVersion: \"100\",\n scriptLanguage: \"JAVASCRIPT\",\n devices: [\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n ],\n browsers: [\"CHROME\"],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"BROWSER\",\n locations_publics=[\"AP_SOUTH_1\"],\n enable_screenshot_on_failure_and_script=True,\n validation_string=\"success\",\n verify_ssl=True,\n runtime_type=\"CHROME_BROWSER\",\n runtime_type_version=\"100\",\n script_language=\"JAVASCRIPT\",\n devices=[\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n ],\n browsers=[\"CHROME\"],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"BROWSER\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n },\n EnableScreenshotOnFailureAndScript = true,\n ValidationString = \"success\",\n VerifySsl = true,\n RuntimeType = \"CHROME_BROWSER\",\n RuntimeTypeVersion = \"100\",\n ScriptLanguage = \"JAVASCRIPT\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"BROWSER\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"BROWSER\")\n .locationsPublics(\"AP_SOUTH_1\")\n .enableScreenshotOnFailureAndScript(true)\n .validationString(\"success\")\n .verifySsl(true)\n .runtimeType(\"CHROME_BROWSER\")\n .runtimeTypeVersion(\"100\")\n .scriptLanguage(\"JAVASCRIPT\")\n .devices( \n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\")\n .browsers(\"CHROME\")\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: BROWSER\n locationsPublics:\n - AP_SOUTH_1\n enableScreenshotOnFailureAndScript: true\n validationString: success\n verifySsl: true\n runtimeType: CHROME_BROWSER\n runtimeTypeVersion: '100'\n scriptLanguage: JAVASCRIPT\n devices:\n - DESKTOP\n - TABLET_LANDSCAPE\n - MOBILE_PORTRAIT\n browsers:\n - CHROME\n customHeaders:\n - name: some_name\n value: some_value\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n##### Type: `SIMPLE`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private_location\",\n verifiedScriptExecution: false,\n});\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n uri: \"https://www.one.newrelic.com\",\n type: \"SIMPLE\",\n locationsPrivates: [location.id],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n treatRedirectAsFailure: true,\n validationString: \"success\",\n bypassHeadRequest: true,\n verifySsl: true,\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private_location\",\n verified_script_execution=False)\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n uri=\"https://www.one.newrelic.com\",\n type=\"SIMPLE\",\n locations_privates=[location.id],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n treat_redirect_as_failure=True,\n validation_string=\"success\",\n bypass_head_request=True,\n verify_ssl=True,\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private_location\",\n VerifiedScriptExecution = false,\n });\n\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n Uri = \"https://www.one.newrelic.com\",\n Type = \"SIMPLE\",\n LocationsPrivates = new[]\n {\n location.Id,\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n TreatRedirectAsFailure = true,\n ValidationString = \"success\",\n BypassHeadRequest = true,\n VerifySsl = true,\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tType: pulumi.String(\"SIMPLE\"),\n\t\t\tLocationsPrivates: pulumi.StringArray{\n\t\t\t\tlocation.ID(),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTreatRedirectAsFailure: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tBypassHeadRequest: pulumi.Bool(true),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private_location\")\n .verifiedScriptExecution(false)\n .build());\n\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .uri(\"https://www.one.newrelic.com\")\n .type(\"SIMPLE\")\n .locationsPrivates(location.id())\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .treatRedirectAsFailure(true)\n .validationString(\"success\")\n .bypassHeadRequest(true)\n .verifySsl(true)\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private_location\n verifiedScriptExecution: false\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n name: monitor\n period: EVERY_MINUTE\n uri: https://www.one.newrelic.com\n type: SIMPLE\n locationsPrivates:\n - ${location.id}\n customHeaders:\n - name: some_name\n value: some_value\n treatRedirectAsFailure: true\n validationString: success\n bypassHeadRequest: true\n verifySsl: true\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private-location\",\n verifiedScriptExecution: false,\n});\nconst monitor = new newrelic.synthetics.Monitor(\"monitor\", {\n status: \"ENABLED\",\n type: \"BROWSER\",\n uri: \"https://www.one.newrelic.com\",\n name: \"monitor\",\n period: \"EVERY_MINUTE\",\n locationsPrivates: [location.id],\n enableScreenshotOnFailureAndScript: true,\n validationString: \"success\",\n verifySsl: true,\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n devices: [\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n ],\n browsers: [\"CHROME\"],\n customHeaders: [{\n name: \"some_name\",\n value: \"some_value\",\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private-location\",\n verified_script_execution=False)\nmonitor = newrelic.synthetics.Monitor(\"monitor\",\n status=\"ENABLED\",\n type=\"BROWSER\",\n uri=\"https://www.one.newrelic.com\",\n name=\"monitor\",\n period=\"EVERY_MINUTE\",\n locations_privates=[location.id],\n enable_screenshot_on_failure_and_script=True,\n validation_string=\"success\",\n verify_ssl=True,\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n devices=[\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n ],\n browsers=[\"CHROME\"],\n custom_headers=[{\n \"name\": \"some_name\",\n \"value\": \"some_value\",\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private-location\",\n VerifiedScriptExecution = false,\n });\n\n var monitor = new NewRelic.Synthetics.Monitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Type = \"BROWSER\",\n Uri = \"https://www.one.newrelic.com\",\n Name = \"monitor\",\n Period = \"EVERY_MINUTE\",\n LocationsPrivates = new[]\n {\n location.Id,\n },\n EnableScreenshotOnFailureAndScript = true,\n ValidationString = \"success\",\n VerifySsl = true,\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n CustomHeaders = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs\n {\n Name = \"some_name\",\n Value = \"some_value\",\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.MonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private-location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewMonitor(ctx, \"monitor\", \u0026synthetics.MonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tType: pulumi.String(\"BROWSER\"),\n\t\t\tUri: pulumi.String(\"https://www.one.newrelic.com\"),\n\t\t\tName: pulumi.String(\"monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_MINUTE\"),\n\t\t\tLocationsPrivates: pulumi.StringArray{\n\t\t\t\tlocation.ID(),\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tValidationString: pulumi.String(\"success\"),\n\t\t\tVerifySsl: pulumi.Bool(true),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tCustomHeaders: synthetics.MonitorCustomHeaderArray{\n\t\t\t\t\u0026synthetics.MonitorCustomHeaderArgs{\n\t\t\t\t\tName: pulumi.String(\"some_name\"),\n\t\t\t\t\tValue: pulumi.String(\"some_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.MonitorTagArray{\n\t\t\t\t\u0026synthetics.MonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.Monitor;\nimport com.pulumi.newrelic.synthetics.MonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorCustomHeaderArgs;\nimport com.pulumi.newrelic.synthetics.inputs.MonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private-location\")\n .verifiedScriptExecution(false)\n .build());\n\n var monitor = new Monitor(\"monitor\", MonitorArgs.builder()\n .status(\"ENABLED\")\n .type(\"BROWSER\")\n .uri(\"https://www.one.newrelic.com\")\n .name(\"monitor\")\n .period(\"EVERY_MINUTE\")\n .locationsPrivates(location.id())\n .enableScreenshotOnFailureAndScript(true)\n .validationString(\"success\")\n .verifySsl(true)\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .devices( \n \"DESKTOP\",\n \"TABLET_LANDSCAPE\",\n \"MOBILE_PORTRAIT\")\n .browsers(\"CHROME\")\n .customHeaders(MonitorCustomHeaderArgs.builder()\n .name(\"some_name\")\n .value(\"some_value\")\n .build())\n .tags(MonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private-location\n verifiedScriptExecution: false\n monitor:\n type: newrelic:synthetics:Monitor\n properties:\n status: ENABLED\n type: BROWSER\n uri: https://www.one.newrelic.com\n name: monitor\n period: EVERY_MINUTE\n locationsPrivates:\n - ${location.id}\n enableScreenshotOnFailureAndScript: true\n validationString: success\n verifySsl: true\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n devices:\n - DESKTOP\n - TABLET_LANDSCAPE\n - MOBILE_PORTRAIT\n browsers:\n - CHROME\n customHeaders:\n - name: some_name\n value: some_value\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics monitor can be imported using the `guid`, e.g.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/monitor:Monitor monitor \u003cguid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", "description": "The account in which the Synthetics monitor will be created.\n" }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "bypassHeadRequest": { "type": "boolean", "description": "Monitor should skip default HEAD request and instead use GET verb in check.\n\nThe `BROWSER` monitor type supports the following additional arguments:\n" @@ -14053,11 +14060,18 @@ }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14149,6 +14163,13 @@ "type": "string", "description": "The account in which the Synthetics monitor will be created.\n" }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "bypassHeadRequest": { "type": "boolean", "description": "Monitor should skip default HEAD request and instead use GET verb in check.\n\nThe `BROWSER` monitor type supports the following additional arguments:\n" @@ -14162,11 +14183,18 @@ }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14253,6 +14281,13 @@ "type": "string", "description": "The account in which the Synthetics monitor will be created.\n" }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "bypassHeadRequest": { "type": "boolean", "description": "Monitor should skip default HEAD request and instead use GET verb in check.\n\nThe `BROWSER` monitor type supports the following additional arguments:\n" @@ -14266,11 +14301,18 @@ }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14603,19 +14645,33 @@ } }, "newrelic:synthetics/scriptMonitor:ScriptMonitor": { - "description": "## Example Usage\n\n##### Type: `SCRIPT_API`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_API\",\n locationsPublics: [\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period: \"EVERY_6_HOURS\",\n script: \"console.log('it works!')\",\n scriptLanguage: \"JAVASCRIPT\",\n runtimeType: \"NODE_API\",\n runtimeTypeVersion: \"16.10\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_API\",\n locations_publics=[\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period=\"EVERY_6_HOURS\",\n script=\"console.log('it works!')\",\n script_language=\"JAVASCRIPT\",\n runtime_type=\"NODE_API\",\n runtime_type_version=\"16.10\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_API\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n },\n Period = \"EVERY_6_HOURS\",\n Script = \"console.log('it works!')\",\n ScriptLanguage = \"JAVASCRIPT\",\n RuntimeType = \"NODE_API\",\n RuntimeTypeVersion = \"16.10\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_API\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t\tpulumi.String(\"AP_EAST_1\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tScript: pulumi.String(\"console.log('it works!')\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tRuntimeType: pulumi.String(\"NODE_API\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"16.10\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_API\")\n .locationsPublics( \n \"AP_SOUTH_1\",\n \"AP_EAST_1\")\n .period(\"EVERY_6_HOURS\")\n .script(\"console.log('it works!')\")\n .scriptLanguage(\"JAVASCRIPT\")\n .runtimeType(\"NODE_API\")\n .runtimeTypeVersion(\"16.10\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_API\n locationsPublics:\n - AP_SOUTH_1\n - AP_EAST_1\n period: EVERY_6_HOURS\n script: console.log('it works!')\n scriptLanguage: JAVASCRIPT\n runtimeType: NODE_API\n runtimeTypeVersion: '16.10'\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SCRIPT_BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_BROWSER\",\n locationsPublics: [\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period: \"EVERY_HOUR\",\n enableScreenshotOnFailureAndScript: false,\n script: \"$browser.get('https://one.newrelic.com')\",\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_BROWSER\",\n locations_publics=[\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period=\"EVERY_HOUR\",\n enable_screenshot_on_failure_and_script=False,\n script=\"$browser.get('https://one.newrelic.com')\",\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_BROWSER\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n },\n Period = \"EVERY_HOUR\",\n EnableScreenshotOnFailureAndScript = false,\n Script = \"$browser.get('https://one.newrelic.com')\",\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_BROWSER\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t\tpulumi.String(\"AP_EAST_1\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_HOUR\"),\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(false),\n\t\t\tScript: pulumi.String(\"$browser.get('https://one.newrelic.com')\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_BROWSER\")\n .locationsPublics( \n \"AP_SOUTH_1\",\n \"AP_EAST_1\")\n .period(\"EVERY_HOUR\")\n .enableScreenshotOnFailureAndScript(false)\n .script(\"$browser.get('https://one.newrelic.com')\")\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_BROWSER\n locationsPublics:\n - AP_SOUTH_1\n - AP_EAST_1\n period: EVERY_HOUR\n enableScreenshotOnFailureAndScript: false\n script: $browser.get('https://one.newrelic.com')\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n##### Type: `SCRIPT_API`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private_location\",\n verifiedScriptExecution: true,\n});\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_API\",\n locationPrivates: [{\n guid: location.id,\n vsePassword: \"secret\",\n }],\n period: \"EVERY_6_HOURS\",\n script: \"console.log('terraform integration test updated')\",\n scriptLanguage: \"JAVASCRIPT\",\n runtimeType: \"NODE_API\",\n runtimeTypeVersion: \"16.10\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private_location\",\n verified_script_execution=True)\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_API\",\n location_privates=[{\n \"guid\": location.id,\n \"vse_password\": \"secret\",\n }],\n period=\"EVERY_6_HOURS\",\n script=\"console.log('terraform integration test updated')\",\n script_language=\"JAVASCRIPT\",\n runtime_type=\"NODE_API\",\n runtime_type_version=\"16.10\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private_location\",\n VerifiedScriptExecution = true,\n });\n\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_API\",\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorLocationPrivateArgs\n {\n Guid = location.Id,\n VsePassword = \"secret\",\n },\n },\n Period = \"EVERY_6_HOURS\",\n Script = \"console.log('terraform integration test updated')\",\n ScriptLanguage = \"JAVASCRIPT\",\n RuntimeType = \"NODE_API\",\n RuntimeTypeVersion = \"16.10\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_API\"),\n\t\t\tLocationPrivates: synthetics.ScriptMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: location.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tScript: pulumi.String(\"console.log('terraform integration test updated')\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tRuntimeType: pulumi.String(\"NODE_API\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"16.10\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private_location\")\n .verifiedScriptExecution(true)\n .build());\n\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_API\")\n .locationPrivates(ScriptMonitorLocationPrivateArgs.builder()\n .guid(location.id())\n .vsePassword(\"secret\")\n .build())\n .period(\"EVERY_6_HOURS\")\n .script(\"console.log('terraform integration test updated')\")\n .scriptLanguage(\"JAVASCRIPT\")\n .runtimeType(\"NODE_API\")\n .runtimeTypeVersion(\"16.10\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private_location\n verifiedScriptExecution: true\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_API\n locationPrivates:\n - guid: ${location.id}\n vsePassword: secret\n period: EVERY_6_HOURS\n script: console.log('terraform integration test updated')\n scriptLanguage: JAVASCRIPT\n runtimeType: NODE_API\n runtimeTypeVersion: '16.10'\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SCRIPT_BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Test Description\",\n name: \"private_location\",\n verifiedScriptExecution: true,\n});\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_BROWSER\",\n period: \"EVERY_HOUR\",\n script: \"$browser.get('https://one.newrelic.com')\",\n enableScreenshotOnFailureAndScript: false,\n locationPrivates: [{\n guid: location.id,\n vsePassword: \"secret\",\n }],\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n deviceType: \"MOBILE\",\n deviceOrientation: \"LANDSCAPE\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Test Description\",\n name=\"private_location\",\n verified_script_execution=True)\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_BROWSER\",\n period=\"EVERY_HOUR\",\n script=\"$browser.get('https://one.newrelic.com')\",\n enable_screenshot_on_failure_and_script=False,\n location_privates=[{\n \"guid\": location.id,\n \"vse_password\": \"secret\",\n }],\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n device_type=\"MOBILE\",\n device_orientation=\"LANDSCAPE\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Test Description\",\n Name = \"private_location\",\n VerifiedScriptExecution = true,\n });\n\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_BROWSER\",\n Period = \"EVERY_HOUR\",\n Script = \"$browser.get('https://one.newrelic.com')\",\n EnableScreenshotOnFailureAndScript = false,\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorLocationPrivateArgs\n {\n Guid = location.Id,\n VsePassword = \"secret\",\n },\n },\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n DeviceType = \"MOBILE\",\n DeviceOrientation = \"LANDSCAPE\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Test Description\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_BROWSER\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_HOUR\"),\n\t\t\tScript: pulumi.String(\"$browser.get('https://one.newrelic.com')\"),\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(false),\n\t\t\tLocationPrivates: synthetics.ScriptMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: location.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDeviceType: pulumi.String(\"MOBILE\"),\n\t\t\tDeviceOrientation: pulumi.String(\"LANDSCAPE\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Test Description\")\n .name(\"private_location\")\n .verifiedScriptExecution(true)\n .build());\n\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_BROWSER\")\n .period(\"EVERY_HOUR\")\n .script(\"$browser.get('https://one.newrelic.com')\")\n .enableScreenshotOnFailureAndScript(false)\n .locationPrivates(ScriptMonitorLocationPrivateArgs.builder()\n .guid(location.id())\n .vsePassword(\"secret\")\n .build())\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .deviceType(\"MOBILE\")\n .deviceOrientation(\"LANDSCAPE\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Test Description\n name: private_location\n verifiedScriptExecution: true\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_BROWSER\n period: EVERY_HOUR\n script: $browser.get('https://one.newrelic.com')\n enableScreenshotOnFailureAndScript: false\n locationPrivates:\n - guid: ${location.id}\n vsePassword: secret\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n deviceType: MOBILE\n deviceOrientation: LANDSCAPE\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics monitor scripts can be imported using the `guid`, e.g.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/scriptMonitor:ScriptMonitor monitor \u003cguid\u003e\n```\n\n", + "description": "## Example Usage\n\n##### Type: `SCRIPT_API`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_API\",\n locationsPublics: [\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period: \"EVERY_6_HOURS\",\n script: \"console.log('it works!')\",\n scriptLanguage: \"JAVASCRIPT\",\n runtimeType: \"NODE_API\",\n runtimeTypeVersion: \"16.10\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_API\",\n locations_publics=[\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period=\"EVERY_6_HOURS\",\n script=\"console.log('it works!')\",\n script_language=\"JAVASCRIPT\",\n runtime_type=\"NODE_API\",\n runtime_type_version=\"16.10\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_API\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n },\n Period = \"EVERY_6_HOURS\",\n Script = \"console.log('it works!')\",\n ScriptLanguage = \"JAVASCRIPT\",\n RuntimeType = \"NODE_API\",\n RuntimeTypeVersion = \"16.10\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_API\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t\tpulumi.String(\"AP_EAST_1\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tScript: pulumi.String(\"console.log('it works!')\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tRuntimeType: pulumi.String(\"NODE_API\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"16.10\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_API\")\n .locationsPublics( \n \"AP_SOUTH_1\",\n \"AP_EAST_1\")\n .period(\"EVERY_6_HOURS\")\n .script(\"console.log('it works!')\")\n .scriptLanguage(\"JAVASCRIPT\")\n .runtimeType(\"NODE_API\")\n .runtimeTypeVersion(\"16.10\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_API\n locationsPublics:\n - AP_SOUTH_1\n - AP_EAST_1\n period: EVERY_6_HOURS\n script: console.log('it works!')\n scriptLanguage: JAVASCRIPT\n runtimeType: NODE_API\n runtimeTypeVersion: '16.10'\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SCRIPT_BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_BROWSER\",\n locationsPublics: [\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period: \"EVERY_HOUR\",\n script: \"$browser.get('https://one.newrelic.com')\",\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n devices: [\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers: [\"CHROME\"],\n enableScreenshotOnFailureAndScript: false,\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_BROWSER\",\n locations_publics=[\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n ],\n period=\"EVERY_HOUR\",\n script=\"$browser.get('https://one.newrelic.com')\",\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n devices=[\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers=[\"CHROME\"],\n enable_screenshot_on_failure_and_script=False,\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_BROWSER\",\n LocationsPublics = new[]\n {\n \"AP_SOUTH_1\",\n \"AP_EAST_1\",\n },\n Period = \"EVERY_HOUR\",\n Script = \"$browser.get('https://one.newrelic.com')\",\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n EnableScreenshotOnFailureAndScript = false,\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_BROWSER\"),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"AP_SOUTH_1\"),\n\t\t\t\tpulumi.String(\"AP_EAST_1\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_HOUR\"),\n\t\t\tScript: pulumi.String(\"$browser.get('https://one.newrelic.com')\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(false),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_BROWSER\")\n .locationsPublics( \n \"AP_SOUTH_1\",\n \"AP_EAST_1\")\n .period(\"EVERY_HOUR\")\n .script(\"$browser.get('https://one.newrelic.com')\")\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .devices( \n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\")\n .browsers(\"CHROME\")\n .enableScreenshotOnFailureAndScript(false)\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_BROWSER\n locationsPublics:\n - AP_SOUTH_1\n - AP_EAST_1\n period: EVERY_HOUR\n script: $browser.get('https://one.newrelic.com')\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n devices:\n - DESKTOP\n - MOBILE_PORTRAIT\n - TABLET_LANDSCAPE\n browsers:\n - CHROME\n enableScreenshotOnFailureAndScript: false\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n##### Type: `SCRIPT_API`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Example private location\",\n name: \"private_location\",\n verifiedScriptExecution: true,\n});\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_API\",\n locationPrivates: [{\n guid: location.id,\n vsePassword: \"secret\",\n }],\n period: \"EVERY_6_HOURS\",\n script: \"console.log('terraform integration test updated')\",\n scriptLanguage: \"JAVASCRIPT\",\n runtimeType: \"NODE_API\",\n runtimeTypeVersion: \"16.10\",\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Example private location\",\n name=\"private_location\",\n verified_script_execution=True)\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_API\",\n location_privates=[{\n \"guid\": location.id,\n \"vse_password\": \"secret\",\n }],\n period=\"EVERY_6_HOURS\",\n script=\"console.log('terraform integration test updated')\",\n script_language=\"JAVASCRIPT\",\n runtime_type=\"NODE_API\",\n runtime_type_version=\"16.10\",\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Example private location\",\n Name = \"private_location\",\n VerifiedScriptExecution = true,\n });\n\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_API\",\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorLocationPrivateArgs\n {\n Guid = location.Id,\n VsePassword = \"secret\",\n },\n },\n Period = \"EVERY_6_HOURS\",\n Script = \"console.log('terraform integration test updated')\",\n ScriptLanguage = \"JAVASCRIPT\",\n RuntimeType = \"NODE_API\",\n RuntimeTypeVersion = \"16.10\",\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Example private location\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_API\"),\n\t\t\tLocationPrivates: synthetics.ScriptMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: location.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tScript: pulumi.String(\"console.log('terraform integration test updated')\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tRuntimeType: pulumi.String(\"NODE_API\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"16.10\"),\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Example private location\")\n .name(\"private_location\")\n .verifiedScriptExecution(true)\n .build());\n\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_API\")\n .locationPrivates(ScriptMonitorLocationPrivateArgs.builder()\n .guid(location.id())\n .vsePassword(\"secret\")\n .build())\n .period(\"EVERY_6_HOURS\")\n .script(\"console.log('terraform integration test updated')\")\n .scriptLanguage(\"JAVASCRIPT\")\n .runtimeType(\"NODE_API\")\n .runtimeTypeVersion(\"16.10\")\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Example private location\n name: private_location\n verifiedScriptExecution: true\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_API\n locationPrivates:\n - guid: ${location.id}\n vsePassword: secret\n period: EVERY_6_HOURS\n script: console.log('terraform integration test updated')\n scriptLanguage: JAVASCRIPT\n runtimeType: NODE_API\n runtimeTypeVersion: '16.10'\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n##### Type: `SCRIPT_BROWSER`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst location = new newrelic.synthetics.PrivateLocation(\"location\", {\n description: \"Test Description\",\n name: \"private_location\",\n verifiedScriptExecution: true,\n});\nconst monitor = new newrelic.synthetics.ScriptMonitor(\"monitor\", {\n status: \"ENABLED\",\n name: \"script_monitor\",\n type: \"SCRIPT_BROWSER\",\n period: \"EVERY_HOUR\",\n script: \"$browser.get('https://one.newrelic.com')\",\n runtimeTypeVersion: \"100\",\n runtimeType: \"CHROME_BROWSER\",\n scriptLanguage: \"JAVASCRIPT\",\n devices: [\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers: [\"CHROME\"],\n enableScreenshotOnFailureAndScript: false,\n locationPrivates: [{\n guid: location.id,\n vsePassword: \"secret\",\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nlocation = newrelic.synthetics.PrivateLocation(\"location\",\n description=\"Test Description\",\n name=\"private_location\",\n verified_script_execution=True)\nmonitor = newrelic.synthetics.ScriptMonitor(\"monitor\",\n status=\"ENABLED\",\n name=\"script_monitor\",\n type=\"SCRIPT_BROWSER\",\n period=\"EVERY_HOUR\",\n script=\"$browser.get('https://one.newrelic.com')\",\n runtime_type_version=\"100\",\n runtime_type=\"CHROME_BROWSER\",\n script_language=\"JAVASCRIPT\",\n devices=[\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers=[\"CHROME\"],\n enable_screenshot_on_failure_and_script=False,\n location_privates=[{\n \"guid\": location.id,\n \"vse_password\": \"secret\",\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var location = new NewRelic.Synthetics.PrivateLocation(\"location\", new()\n {\n Description = \"Test Description\",\n Name = \"private_location\",\n VerifiedScriptExecution = true,\n });\n\n var monitor = new NewRelic.Synthetics.ScriptMonitor(\"monitor\", new()\n {\n Status = \"ENABLED\",\n Name = \"script_monitor\",\n Type = \"SCRIPT_BROWSER\",\n Period = \"EVERY_HOUR\",\n Script = \"$browser.get('https://one.newrelic.com')\",\n RuntimeTypeVersion = \"100\",\n RuntimeType = \"CHROME_BROWSER\",\n ScriptLanguage = \"JAVASCRIPT\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n EnableScreenshotOnFailureAndScript = false,\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorLocationPrivateArgs\n {\n Guid = location.Id,\n VsePassword = \"secret\",\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlocation, err := synthetics.NewPrivateLocation(ctx, \"location\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tDescription: pulumi.String(\"Test Description\"),\n\t\t\tName: pulumi.String(\"private_location\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewScriptMonitor(ctx, \"monitor\", \u0026synthetics.ScriptMonitorArgs{\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tName: pulumi.String(\"script_monitor\"),\n\t\t\tType: pulumi.String(\"SCRIPT_BROWSER\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_HOUR\"),\n\t\t\tScript: pulumi.String(\"$browser.get('https://one.newrelic.com')\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tScriptLanguage: pulumi.String(\"JAVASCRIPT\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(false),\n\t\t\tLocationPrivates: synthetics.ScriptMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: location.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.ScriptMonitorTagArray{\n\t\t\t\t\u0026synthetics.ScriptMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.ScriptMonitor;\nimport com.pulumi.newrelic.synthetics.ScriptMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.ScriptMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var location = new PrivateLocation(\"location\", PrivateLocationArgs.builder()\n .description(\"Test Description\")\n .name(\"private_location\")\n .verifiedScriptExecution(true)\n .build());\n\n var monitor = new ScriptMonitor(\"monitor\", ScriptMonitorArgs.builder()\n .status(\"ENABLED\")\n .name(\"script_monitor\")\n .type(\"SCRIPT_BROWSER\")\n .period(\"EVERY_HOUR\")\n .script(\"$browser.get('https://one.newrelic.com')\")\n .runtimeTypeVersion(\"100\")\n .runtimeType(\"CHROME_BROWSER\")\n .scriptLanguage(\"JAVASCRIPT\")\n .devices( \n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\")\n .browsers(\"CHROME\")\n .enableScreenshotOnFailureAndScript(false)\n .locationPrivates(ScriptMonitorLocationPrivateArgs.builder()\n .guid(location.id())\n .vsePassword(\"secret\")\n .build())\n .tags(ScriptMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n location:\n type: newrelic:synthetics:PrivateLocation\n properties:\n description: Test Description\n name: private_location\n verifiedScriptExecution: true\n monitor:\n type: newrelic:synthetics:ScriptMonitor\n properties:\n status: ENABLED\n name: script_monitor\n type: SCRIPT_BROWSER\n period: EVERY_HOUR\n script: $browser.get('https://one.newrelic.com')\n runtimeTypeVersion: '100'\n runtimeType: CHROME_BROWSER\n scriptLanguage: JAVASCRIPT\n devices:\n - DESKTOP\n - MOBILE_PORTRAIT\n - TABLET_LANDSCAPE\n browsers:\n - CHROME\n enableScreenshotOnFailureAndScript: false\n locationPrivates:\n - guid: ${location.id}\n vsePassword: secret\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSynthetics monitor scripts can be imported using the `guid`, e.g.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/scriptMonitor:ScriptMonitor monitor \u003cguid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", "description": "The account in which the Synthetics monitor will be created.\n" }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14701,13 +14757,27 @@ "description": "The account in which the Synthetics monitor will be created.\n", "willReplaceOnChanges": true }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14784,13 +14854,27 @@ "description": "The account in which the Synthetics monitor will be created.\n", "willReplaceOnChanges": true }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, "deviceOrientation": { "type": "string", - "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`.\n" + "description": "Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" }, "deviceType": { "type": "string", - "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`.\n" + "description": "Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`.\n" }, "enableScreenshotOnFailureAndScript": { "type": "boolean", @@ -14956,12 +15040,26 @@ } }, "newrelic:synthetics/stepMonitor:StepMonitor": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = new newrelic.synthetics.StepMonitor(\"foo\", {\n name: \"Sample Step Monitor\",\n enableScreenshotOnFailureAndScript: true,\n locationsPublics: [\n \"US_EAST_1\",\n \"US_EAST_2\",\n ],\n period: \"EVERY_6_HOURS\",\n status: \"ENABLED\",\n runtimeType: \"CHROME_BROWSER\",\n runtimeTypeVersion: \"100\",\n steps: [{\n ordinal: 0,\n type: \"NAVIGATE\",\n values: [\"https://www.newrelic.com\"],\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.synthetics.StepMonitor(\"foo\",\n name=\"Sample Step Monitor\",\n enable_screenshot_on_failure_and_script=True,\n locations_publics=[\n \"US_EAST_1\",\n \"US_EAST_2\",\n ],\n period=\"EVERY_6_HOURS\",\n status=\"ENABLED\",\n runtime_type=\"CHROME_BROWSER\",\n runtime_type_version=\"100\",\n steps=[{\n \"ordinal\": 0,\n \"type\": \"NAVIGATE\",\n \"values\": [\"https://www.newrelic.com\"],\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new NewRelic.Synthetics.StepMonitor(\"foo\", new()\n {\n Name = \"Sample Step Monitor\",\n EnableScreenshotOnFailureAndScript = true,\n LocationsPublics = new[]\n {\n \"US_EAST_1\",\n \"US_EAST_2\",\n },\n Period = \"EVERY_6_HOURS\",\n Status = \"ENABLED\",\n RuntimeType = \"CHROME_BROWSER\",\n RuntimeTypeVersion = \"100\",\n Steps = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorStepArgs\n {\n Ordinal = 0,\n Type = \"NAVIGATE\",\n Values = new[]\n {\n \"https://www.newrelic.com\",\n },\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewStepMonitor(ctx, \"foo\", \u0026synthetics.StepMonitorArgs{\n\t\t\tName: pulumi.String(\"Sample Step Monitor\"),\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US_EAST_1\"),\n\t\t\t\tpulumi.String(\"US_EAST_2\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tSteps: synthetics.StepMonitorStepArray{\n\t\t\t\t\u0026synthetics.StepMonitorStepArgs{\n\t\t\t\t\tOrdinal: pulumi.Int(0),\n\t\t\t\t\tType: pulumi.String(\"NAVIGATE\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://www.newrelic.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.StepMonitorTagArray{\n\t\t\t\t\u0026synthetics.StepMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.StepMonitor;\nimport com.pulumi.newrelic.synthetics.StepMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorStepArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new StepMonitor(\"foo\", StepMonitorArgs.builder()\n .name(\"Sample Step Monitor\")\n .enableScreenshotOnFailureAndScript(true)\n .locationsPublics( \n \"US_EAST_1\",\n \"US_EAST_2\")\n .period(\"EVERY_6_HOURS\")\n .status(\"ENABLED\")\n .runtimeType(\"CHROME_BROWSER\")\n .runtimeTypeVersion(\"100\")\n .steps(StepMonitorStepArgs.builder()\n .ordinal(0)\n .type(\"NAVIGATE\")\n .values(\"https://www.newrelic.com\")\n .build())\n .tags(StepMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: newrelic:synthetics:StepMonitor\n properties:\n name: Sample Step Monitor\n enableScreenshotOnFailureAndScript: true\n locationsPublics:\n - US_EAST_1\n - US_EAST_2\n period: EVERY_6_HOURS\n status: ENABLED\n runtimeType: CHROME_BROWSER\n runtimeTypeVersion: '100'\n steps:\n - ordinal: 0\n type: NAVIGATE\n values:\n - https://www.newrelic.com\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = new newrelic.synthetics.PrivateLocation(\"foo\", {\n name: \"Sample Private Location\",\n description: \"Sample Private Location Description\",\n verifiedScriptExecution: true,\n});\nconst fooStepMonitor = new newrelic.synthetics.StepMonitor(\"foo\", {\n name: \"Sample Step Monitor\",\n period: \"EVERY_6_HOURS\",\n status: \"ENABLED\",\n locationPrivates: [{\n guid: foo.id,\n vsePassword: \"secret\",\n }],\n steps: [{\n ordinal: 0,\n type: \"NAVIGATE\",\n values: [\"https://google.com\"],\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.synthetics.PrivateLocation(\"foo\",\n name=\"Sample Private Location\",\n description=\"Sample Private Location Description\",\n verified_script_execution=True)\nfoo_step_monitor = newrelic.synthetics.StepMonitor(\"foo\",\n name=\"Sample Step Monitor\",\n period=\"EVERY_6_HOURS\",\n status=\"ENABLED\",\n location_privates=[{\n \"guid\": foo.id,\n \"vse_password\": \"secret\",\n }],\n steps=[{\n \"ordinal\": 0,\n \"type\": \"NAVIGATE\",\n \"values\": [\"https://google.com\"],\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new NewRelic.Synthetics.PrivateLocation(\"foo\", new()\n {\n Name = \"Sample Private Location\",\n Description = \"Sample Private Location Description\",\n VerifiedScriptExecution = true,\n });\n\n var fooStepMonitor = new NewRelic.Synthetics.StepMonitor(\"foo\", new()\n {\n Name = \"Sample Step Monitor\",\n Period = \"EVERY_6_HOURS\",\n Status = \"ENABLED\",\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorLocationPrivateArgs\n {\n Guid = foo.Id,\n VsePassword = \"secret\",\n },\n },\n Steps = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorStepArgs\n {\n Ordinal = 0,\n Type = \"NAVIGATE\",\n Values = new[]\n {\n \"https://google.com\",\n },\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := synthetics.NewPrivateLocation(ctx, \"foo\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tName: pulumi.String(\"Sample Private Location\"),\n\t\t\tDescription: pulumi.String(\"Sample Private Location Description\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewStepMonitor(ctx, \"foo\", \u0026synthetics.StepMonitorArgs{\n\t\t\tName: pulumi.String(\"Sample Step Monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tLocationPrivates: synthetics.StepMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.StepMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: foo.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSteps: synthetics.StepMonitorStepArray{\n\t\t\t\t\u0026synthetics.StepMonitorStepArgs{\n\t\t\t\t\tOrdinal: pulumi.Int(0),\n\t\t\t\t\tType: pulumi.String(\"NAVIGATE\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://google.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.StepMonitorTagArray{\n\t\t\t\t\u0026synthetics.StepMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.StepMonitor;\nimport com.pulumi.newrelic.synthetics.StepMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorStepArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PrivateLocation(\"foo\", PrivateLocationArgs.builder()\n .name(\"Sample Private Location\")\n .description(\"Sample Private Location Description\")\n .verifiedScriptExecution(true)\n .build());\n\n var fooStepMonitor = new StepMonitor(\"fooStepMonitor\", StepMonitorArgs.builder()\n .name(\"Sample Step Monitor\")\n .period(\"EVERY_6_HOURS\")\n .status(\"ENABLED\")\n .locationPrivates(StepMonitorLocationPrivateArgs.builder()\n .guid(foo.id())\n .vsePassword(\"secret\")\n .build())\n .steps(StepMonitorStepArgs.builder()\n .ordinal(0)\n .type(\"NAVIGATE\")\n .values(\"https://google.com\")\n .build())\n .tags(StepMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: newrelic:synthetics:PrivateLocation\n properties:\n name: Sample Private Location\n description: Sample Private Location Description\n verifiedScriptExecution: true\n fooStepMonitor:\n type: newrelic:synthetics:StepMonitor\n name: foo\n properties:\n name: Sample Step Monitor\n period: EVERY_6_HOURS\n status: ENABLED\n locationPrivates:\n - guid: ${foo.id}\n vsePassword: secret\n steps:\n - ordinal: 0\n type: NAVIGATE\n values:\n - https://google.com\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA step monitor can be imported using its GUID, using the following command.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/stepMonitor:StepMonitor monitor \u003cguid\u003e\n```\n\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = new newrelic.synthetics.StepMonitor(\"foo\", {\n name: \"Sample Step Monitor\",\n enableScreenshotOnFailureAndScript: true,\n locationsPublics: [\n \"US_EAST_1\",\n \"US_EAST_2\",\n ],\n period: \"EVERY_6_HOURS\",\n status: \"ENABLED\",\n runtimeType: \"CHROME_BROWSER\",\n runtimeTypeVersion: \"100\",\n devices: [\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers: [\"CHROME\"],\n steps: [{\n ordinal: 0,\n type: \"NAVIGATE\",\n values: [\"https://www.newrelic.com\"],\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.synthetics.StepMonitor(\"foo\",\n name=\"Sample Step Monitor\",\n enable_screenshot_on_failure_and_script=True,\n locations_publics=[\n \"US_EAST_1\",\n \"US_EAST_2\",\n ],\n period=\"EVERY_6_HOURS\",\n status=\"ENABLED\",\n runtime_type=\"CHROME_BROWSER\",\n runtime_type_version=\"100\",\n devices=[\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers=[\"CHROME\"],\n steps=[{\n \"ordinal\": 0,\n \"type\": \"NAVIGATE\",\n \"values\": [\"https://www.newrelic.com\"],\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new NewRelic.Synthetics.StepMonitor(\"foo\", new()\n {\n Name = \"Sample Step Monitor\",\n EnableScreenshotOnFailureAndScript = true,\n LocationsPublics = new[]\n {\n \"US_EAST_1\",\n \"US_EAST_2\",\n },\n Period = \"EVERY_6_HOURS\",\n Status = \"ENABLED\",\n RuntimeType = \"CHROME_BROWSER\",\n RuntimeTypeVersion = \"100\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n Steps = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorStepArgs\n {\n Ordinal = 0,\n Type = \"NAVIGATE\",\n Values = new[]\n {\n \"https://www.newrelic.com\",\n },\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := synthetics.NewStepMonitor(ctx, \"foo\", \u0026synthetics.StepMonitorArgs{\n\t\t\tName: pulumi.String(\"Sample Step Monitor\"),\n\t\t\tEnableScreenshotOnFailureAndScript: pulumi.Bool(true),\n\t\t\tLocationsPublics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"US_EAST_1\"),\n\t\t\t\tpulumi.String(\"US_EAST_2\"),\n\t\t\t},\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tSteps: synthetics.StepMonitorStepArray{\n\t\t\t\t\u0026synthetics.StepMonitorStepArgs{\n\t\t\t\t\tOrdinal: pulumi.Int(0),\n\t\t\t\t\tType: pulumi.String(\"NAVIGATE\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://www.newrelic.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.StepMonitorTagArray{\n\t\t\t\t\u0026synthetics.StepMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.StepMonitor;\nimport com.pulumi.newrelic.synthetics.StepMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorStepArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new StepMonitor(\"foo\", StepMonitorArgs.builder()\n .name(\"Sample Step Monitor\")\n .enableScreenshotOnFailureAndScript(true)\n .locationsPublics( \n \"US_EAST_1\",\n \"US_EAST_2\")\n .period(\"EVERY_6_HOURS\")\n .status(\"ENABLED\")\n .runtimeType(\"CHROME_BROWSER\")\n .runtimeTypeVersion(\"100\")\n .devices( \n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\")\n .browsers(\"CHROME\")\n .steps(StepMonitorStepArgs.builder()\n .ordinal(0)\n .type(\"NAVIGATE\")\n .values(\"https://www.newrelic.com\")\n .build())\n .tags(StepMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: newrelic:synthetics:StepMonitor\n properties:\n name: Sample Step Monitor\n enableScreenshotOnFailureAndScript: true\n locationsPublics:\n - US_EAST_1\n - US_EAST_2\n period: EVERY_6_HOURS\n status: ENABLED\n runtimeType: CHROME_BROWSER\n runtimeTypeVersion: '100'\n devices:\n - DESKTOP\n - MOBILE_PORTRAIT\n - TABLET_LANDSCAPE\n browsers:\n - CHROME\n steps:\n - ordinal: 0\n type: NAVIGATE\n values:\n - https://www.newrelic.com\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\nSee additional examples.\n\n## Additional Examples\n\n### Create a monitor with a private location\n\nThe below example shows how you can define a private location and attach it to a monitor.\n\n\u003e **NOTE:** It can take up to 10 minutes for a private location to become available.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as newrelic from \"@pulumi/newrelic\";\n\nconst foo = new newrelic.synthetics.PrivateLocation(\"foo\", {\n name: \"Sample Private Location\",\n description: \"Sample Private Location Description\",\n verifiedScriptExecution: true,\n});\nconst fooStepMonitor = new newrelic.synthetics.StepMonitor(\"foo\", {\n name: \"Sample Step Monitor\",\n period: \"EVERY_6_HOURS\",\n status: \"ENABLED\",\n runtimeType: \"CHROME_BROWSER\",\n runtimeTypeVersion: \"100\",\n devices: [\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers: [\"CHROME\"],\n locationPrivates: [{\n guid: foo.id,\n vsePassword: \"secret\",\n }],\n steps: [{\n ordinal: 0,\n type: \"NAVIGATE\",\n values: [\"https://google.com\"],\n }],\n tags: [{\n key: \"some_key\",\n values: [\"some_value\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_newrelic as newrelic\n\nfoo = newrelic.synthetics.PrivateLocation(\"foo\",\n name=\"Sample Private Location\",\n description=\"Sample Private Location Description\",\n verified_script_execution=True)\nfoo_step_monitor = newrelic.synthetics.StepMonitor(\"foo\",\n name=\"Sample Step Monitor\",\n period=\"EVERY_6_HOURS\",\n status=\"ENABLED\",\n runtime_type=\"CHROME_BROWSER\",\n runtime_type_version=\"100\",\n devices=[\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n ],\n browsers=[\"CHROME\"],\n location_privates=[{\n \"guid\": foo.id,\n \"vse_password\": \"secret\",\n }],\n steps=[{\n \"ordinal\": 0,\n \"type\": \"NAVIGATE\",\n \"values\": [\"https://google.com\"],\n }],\n tags=[{\n \"key\": \"some_key\",\n \"values\": [\"some_value\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing NewRelic = Pulumi.NewRelic;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new NewRelic.Synthetics.PrivateLocation(\"foo\", new()\n {\n Name = \"Sample Private Location\",\n Description = \"Sample Private Location Description\",\n VerifiedScriptExecution = true,\n });\n\n var fooStepMonitor = new NewRelic.Synthetics.StepMonitor(\"foo\", new()\n {\n Name = \"Sample Step Monitor\",\n Period = \"EVERY_6_HOURS\",\n Status = \"ENABLED\",\n RuntimeType = \"CHROME_BROWSER\",\n RuntimeTypeVersion = \"100\",\n Devices = new[]\n {\n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\",\n },\n Browsers = new[]\n {\n \"CHROME\",\n },\n LocationPrivates = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorLocationPrivateArgs\n {\n Guid = foo.Id,\n VsePassword = \"secret\",\n },\n },\n Steps = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorStepArgs\n {\n Ordinal = 0,\n Type = \"NAVIGATE\",\n Values = new[]\n {\n \"https://google.com\",\n },\n },\n },\n Tags = new[]\n {\n new NewRelic.Synthetics.Inputs.StepMonitorTagArgs\n {\n Key = \"some_key\",\n Values = new[]\n {\n \"some_value\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-newrelic/sdk/v5/go/newrelic/synthetics\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := synthetics.NewPrivateLocation(ctx, \"foo\", \u0026synthetics.PrivateLocationArgs{\n\t\t\tName: pulumi.String(\"Sample Private Location\"),\n\t\t\tDescription: pulumi.String(\"Sample Private Location Description\"),\n\t\t\tVerifiedScriptExecution: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = synthetics.NewStepMonitor(ctx, \"foo\", \u0026synthetics.StepMonitorArgs{\n\t\t\tName: pulumi.String(\"Sample Step Monitor\"),\n\t\t\tPeriod: pulumi.String(\"EVERY_6_HOURS\"),\n\t\t\tStatus: pulumi.String(\"ENABLED\"),\n\t\t\tRuntimeType: pulumi.String(\"CHROME_BROWSER\"),\n\t\t\tRuntimeTypeVersion: pulumi.String(\"100\"),\n\t\t\tDevices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DESKTOP\"),\n\t\t\t\tpulumi.String(\"MOBILE_PORTRAIT\"),\n\t\t\t\tpulumi.String(\"TABLET_LANDSCAPE\"),\n\t\t\t},\n\t\t\tBrowsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"CHROME\"),\n\t\t\t},\n\t\t\tLocationPrivates: synthetics.StepMonitorLocationPrivateArray{\n\t\t\t\t\u0026synthetics.StepMonitorLocationPrivateArgs{\n\t\t\t\t\tGuid: foo.ID(),\n\t\t\t\t\tVsePassword: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSteps: synthetics.StepMonitorStepArray{\n\t\t\t\t\u0026synthetics.StepMonitorStepArgs{\n\t\t\t\t\tOrdinal: pulumi.Int(0),\n\t\t\t\t\tType: pulumi.String(\"NAVIGATE\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://google.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: synthetics.StepMonitorTagArray{\n\t\t\t\t\u0026synthetics.StepMonitorTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"some_key\"),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"some_value\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.newrelic.synthetics.PrivateLocation;\nimport com.pulumi.newrelic.synthetics.PrivateLocationArgs;\nimport com.pulumi.newrelic.synthetics.StepMonitor;\nimport com.pulumi.newrelic.synthetics.StepMonitorArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorLocationPrivateArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorStepArgs;\nimport com.pulumi.newrelic.synthetics.inputs.StepMonitorTagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new PrivateLocation(\"foo\", PrivateLocationArgs.builder()\n .name(\"Sample Private Location\")\n .description(\"Sample Private Location Description\")\n .verifiedScriptExecution(true)\n .build());\n\n var fooStepMonitor = new StepMonitor(\"fooStepMonitor\", StepMonitorArgs.builder()\n .name(\"Sample Step Monitor\")\n .period(\"EVERY_6_HOURS\")\n .status(\"ENABLED\")\n .runtimeType(\"CHROME_BROWSER\")\n .runtimeTypeVersion(\"100\")\n .devices( \n \"DESKTOP\",\n \"MOBILE_PORTRAIT\",\n \"TABLET_LANDSCAPE\")\n .browsers(\"CHROME\")\n .locationPrivates(StepMonitorLocationPrivateArgs.builder()\n .guid(foo.id())\n .vsePassword(\"secret\")\n .build())\n .steps(StepMonitorStepArgs.builder()\n .ordinal(0)\n .type(\"NAVIGATE\")\n .values(\"https://google.com\")\n .build())\n .tags(StepMonitorTagArgs.builder()\n .key(\"some_key\")\n .values(\"some_value\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: newrelic:synthetics:PrivateLocation\n properties:\n name: Sample Private Location\n description: Sample Private Location Description\n verifiedScriptExecution: true\n fooStepMonitor:\n type: newrelic:synthetics:StepMonitor\n name: foo\n properties:\n name: Sample Step Monitor\n period: EVERY_6_HOURS\n status: ENABLED\n runtimeType: CHROME_BROWSER\n runtimeTypeVersion: '100'\n devices:\n - DESKTOP\n - MOBILE_PORTRAIT\n - TABLET_LANDSCAPE\n browsers:\n - CHROME\n locationPrivates:\n - guid: ${foo.id}\n vsePassword: secret\n steps:\n - ordinal: 0\n type: NAVIGATE\n values:\n - https://google.com\n tags:\n - key: some_key\n values:\n - some_value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA step monitor can be imported using its GUID, using the following command.\n\nbash\n\n```sh\n$ pulumi import newrelic:synthetics/stepMonitor:StepMonitor monitor \u003cguid\u003e\n```\n\n", "properties": { "accountId": { "type": "string", "description": "The account in which the Synthetics monitor will be created.\n" }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE,\nMOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT\n" + }, "enableScreenshotOnFailureAndScript": { "type": "boolean", "description": "Capture a screenshot during job execution.\n" @@ -15002,7 +15100,7 @@ }, "runtimeTypeVersion": { "type": "string", - "description": "The specific semver version of the runtime type.\n" + "description": "The specific version of the runtime type selected.\n" }, "status": { "type": "string", @@ -15041,6 +15139,20 @@ "description": "The account in which the Synthetics monitor will be created.\n", "willReplaceOnChanges": true }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE,\nMOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT\n" + }, "enableScreenshotOnFailureAndScript": { "type": "boolean", "description": "Capture a screenshot during job execution.\n" @@ -15073,7 +15185,7 @@ }, "runtimeTypeVersion": { "type": "string", - "description": "The specific semver version of the runtime type.\n" + "description": "The specific version of the runtime type selected.\n" }, "status": { "type": "string", @@ -15110,6 +15222,20 @@ "description": "The account in which the Synthetics monitor will be created.\n", "willReplaceOnChanges": true }, + "browsers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`.\n" + }, + "devices": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE,\nMOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT\n" + }, "enableScreenshotOnFailureAndScript": { "type": "boolean", "description": "Capture a screenshot during job execution.\n" @@ -15150,7 +15276,7 @@ }, "runtimeTypeVersion": { "type": "string", - "description": "The specific semver version of the runtime type.\n" + "description": "The specific version of the runtime type selected.\n" }, "status": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 61b3b714..e91694bf 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -166,7 +166,7 @@ require ( github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/newrelic/go-insights v1.0.3 // indirect - github.com/newrelic/newrelic-client-go/v2 v2.44.0 // indirect + github.com/newrelic/newrelic-client-go/v2 v2.45.0 // indirect github.com/nxadm/tail v1.4.11 // indirect github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 90ab9fe8..8c0c0e59 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1923,8 +1923,8 @@ github.com/newrelic/go-agent/v3 v3.30.0 h1:ZXHCT/Cot4iIPwcegCZURuRQOsfmGA6wilW+S github.com/newrelic/go-agent/v3 v3.30.0/go.mod h1:9utrgxlSryNqRrTvII2XBL+0lpofXbqXApvVWPpbzUg= github.com/newrelic/go-insights v1.0.3 h1:zSNp1CEZnXktzSIEsbHJk8v6ZihdPFP2WsO/fzau3OQ= github.com/newrelic/go-insights v1.0.3/go.mod h1:A20BoT8TNkqPGX2nS/Z2fYmKl3Cqa3iKZd4whzedCY4= -github.com/newrelic/newrelic-client-go/v2 v2.44.0 h1:n4zP64Hfui8pjW/D3tbE1Hi+Acbpz8nBIrI2miEAGiI= -github.com/newrelic/newrelic-client-go/v2 v2.44.0/go.mod h1:pDFY24/6iIMEbPIdowTRrRn9YYwkXc3j+B+XpTb4oF4= +github.com/newrelic/newrelic-client-go/v2 v2.45.0 h1:3zaJqE4V2n07b8Fx3byV+WeJSdeTeR4sW6yVSXrrNN4= +github.com/newrelic/newrelic-client-go/v2 v2.45.0/go.mod h1:pDFY24/6iIMEbPIdowTRrRn9YYwkXc3j+B+XpTb4oF4= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= diff --git a/sdk/dotnet/Synthetics/Monitor.cs b/sdk/dotnet/Synthetics/Monitor.cs index a7af44b8..84a9f926 100644 --- a/sdk/dotnet/Synthetics/Monitor.cs +++ b/sdk/dotnet/Synthetics/Monitor.cs @@ -79,6 +79,22 @@ namespace Pulumi.NewRelic.Synthetics /// { /// "AP_SOUTH_1", /// }, + /// EnableScreenshotOnFailureAndScript = true, + /// ValidationString = "success", + /// VerifySsl = true, + /// RuntimeType = "CHROME_BROWSER", + /// RuntimeTypeVersion = "100", + /// ScriptLanguage = "JAVASCRIPT", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "TABLET_LANDSCAPE", + /// "MOBILE_PORTRAIT", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, /// CustomHeaders = new[] /// { /// new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs @@ -87,14 +103,6 @@ namespace Pulumi.NewRelic.Synthetics /// Value = "some_value", /// }, /// }, - /// EnableScreenshotOnFailureAndScript = true, - /// ValidationString = "success", - /// VerifySsl = true, - /// RuntimeType = "CHROME_BROWSER", - /// RuntimeTypeVersion = "100", - /// ScriptLanguage = "JAVASCRIPT", - /// DeviceType = "MOBILE", - /// DeviceOrientation = "LANDSCAPE", /// Tags = new[] /// { /// new NewRelic.Synthetics.Inputs.MonitorTagArgs @@ -203,6 +211,22 @@ namespace Pulumi.NewRelic.Synthetics /// { /// location.Id, /// }, + /// EnableScreenshotOnFailureAndScript = true, + /// ValidationString = "success", + /// VerifySsl = true, + /// RuntimeTypeVersion = "100", + /// RuntimeType = "CHROME_BROWSER", + /// ScriptLanguage = "JAVASCRIPT", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "TABLET_LANDSCAPE", + /// "MOBILE_PORTRAIT", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, /// CustomHeaders = new[] /// { /// new NewRelic.Synthetics.Inputs.MonitorCustomHeaderArgs @@ -211,12 +235,6 @@ namespace Pulumi.NewRelic.Synthetics /// Value = "some_value", /// }, /// }, - /// EnableScreenshotOnFailureAndScript = true, - /// ValidationString = "success", - /// VerifySsl = true, - /// RuntimeTypeVersion = "100", - /// RuntimeType = "CHROME_BROWSER", - /// ScriptLanguage = "JAVASCRIPT", /// Tags = new[] /// { /// new NewRelic.Synthetics.Inputs.MonitorTagArgs @@ -252,6 +270,12 @@ public partial class Monitor : global::Pulumi.CustomResource [Output("accountId")] public Output AccountId { get; private set; } = null!; + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + [Output("browsers")] + public Output> Browsers { get; private set; } = null!; + /// /// Monitor should skip default HEAD request and instead use GET verb in check. /// @@ -267,17 +291,23 @@ public partial class Monitor : global::Pulumi.CustomResource public Output> CustomHeaders { get; private set; } = null!; /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Output("deviceOrientation")] public Output DeviceOrientation { get; private set; } = null!; /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Output("deviceType")] public Output DeviceType { get; private set; } = null!; + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + [Output("devices")] + public Output> Devices { get; private set; } = null!; + /// /// Capture a screenshot during job execution. /// @@ -431,6 +461,18 @@ public sealed class MonitorArgs : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + /// /// Monitor should skip default HEAD request and instead use GET verb in check. /// @@ -452,17 +494,29 @@ public InputList CustomHeaders } /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceOrientation")] public Input? DeviceOrientation { get; set; } /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceType")] public Input? DeviceType { get; set; } + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// @@ -590,6 +644,18 @@ public sealed class MonitorState : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + /// /// Monitor should skip default HEAD request and instead use GET verb in check. /// @@ -611,17 +677,29 @@ public InputList CustomHeaders } /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceOrientation")] public Input? DeviceOrientation { get; set; } /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceType")] public Input? DeviceType { get; set; } + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// diff --git a/sdk/dotnet/Synthetics/ScriptMonitor.cs b/sdk/dotnet/Synthetics/ScriptMonitor.cs index 7181f5a9..6473483c 100644 --- a/sdk/dotnet/Synthetics/ScriptMonitor.cs +++ b/sdk/dotnet/Synthetics/ScriptMonitor.cs @@ -73,11 +73,21 @@ namespace Pulumi.NewRelic.Synthetics /// "AP_EAST_1", /// }, /// Period = "EVERY_HOUR", - /// EnableScreenshotOnFailureAndScript = false, /// Script = "$browser.get('https://one.newrelic.com')", /// RuntimeTypeVersion = "100", /// RuntimeType = "CHROME_BROWSER", /// ScriptLanguage = "JAVASCRIPT", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "MOBILE_PORTRAIT", + /// "TABLET_LANDSCAPE", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, + /// EnableScreenshotOnFailureAndScript = false, /// Tags = new[] /// { /// new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs @@ -177,6 +187,19 @@ namespace Pulumi.NewRelic.Synthetics /// Type = "SCRIPT_BROWSER", /// Period = "EVERY_HOUR", /// Script = "$browser.get('https://one.newrelic.com')", + /// RuntimeTypeVersion = "100", + /// RuntimeType = "CHROME_BROWSER", + /// ScriptLanguage = "JAVASCRIPT", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "MOBILE_PORTRAIT", + /// "TABLET_LANDSCAPE", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, /// EnableScreenshotOnFailureAndScript = false, /// LocationPrivates = new[] /// { @@ -186,11 +209,6 @@ namespace Pulumi.NewRelic.Synthetics /// VsePassword = "secret", /// }, /// }, - /// RuntimeTypeVersion = "100", - /// RuntimeType = "CHROME_BROWSER", - /// ScriptLanguage = "JAVASCRIPT", - /// DeviceType = "MOBILE", - /// DeviceOrientation = "LANDSCAPE", /// Tags = new[] /// { /// new NewRelic.Synthetics.Inputs.ScriptMonitorTagArgs @@ -227,17 +245,29 @@ public partial class ScriptMonitor : global::Pulumi.CustomResource public Output AccountId { get; private set; } = null!; /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + [Output("browsers")] + public Output> Browsers { get; private set; } = null!; + + /// + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Output("deviceOrientation")] public Output DeviceOrientation { get; private set; } = null!; /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Output("deviceType")] public Output DeviceType { get; private set; } = null!; + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + [Output("devices")] + public Output> Devices { get; private set; } = null!; + /// /// Capture a screenshot during job execution. /// @@ -379,18 +409,42 @@ public sealed class ScriptMonitorArgs : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + + /// + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceOrientation")] public Input? DeviceOrientation { get; set; } /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceType")] public Input? DeviceType { get; set; } + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// @@ -500,18 +554,42 @@ public sealed class ScriptMonitorState : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + /// - /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + + /// + /// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceOrientation")] public Input? DeviceOrientation { get; set; } /// - /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. + /// Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. /// [Input("deviceType")] public Input? DeviceType { get; set; } + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// diff --git a/sdk/dotnet/Synthetics/StepMonitor.cs b/sdk/dotnet/Synthetics/StepMonitor.cs index 4ebe1e59..ce7e3d8a 100644 --- a/sdk/dotnet/Synthetics/StepMonitor.cs +++ b/sdk/dotnet/Synthetics/StepMonitor.cs @@ -33,6 +33,16 @@ namespace Pulumi.NewRelic.Synthetics /// Status = "ENABLED", /// RuntimeType = "CHROME_BROWSER", /// RuntimeTypeVersion = "100", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "MOBILE_PORTRAIT", + /// "TABLET_LANDSCAPE", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, /// Steps = new[] /// { /// new NewRelic.Synthetics.Inputs.StepMonitorStepArgs @@ -90,6 +100,18 @@ namespace Pulumi.NewRelic.Synthetics /// Name = "Sample Step Monitor", /// Period = "EVERY_6_HOURS", /// Status = "ENABLED", + /// RuntimeType = "CHROME_BROWSER", + /// RuntimeTypeVersion = "100", + /// Devices = new[] + /// { + /// "DESKTOP", + /// "MOBILE_PORTRAIT", + /// "TABLET_LANDSCAPE", + /// }, + /// Browsers = new[] + /// { + /// "CHROME", + /// }, /// LocationPrivates = new[] /// { /// new NewRelic.Synthetics.Inputs.StepMonitorLocationPrivateArgs @@ -145,6 +167,19 @@ public partial class StepMonitor : global::Pulumi.CustomResource [Output("accountId")] public Output AccountId { get; private set; } = null!; + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + [Output("browsers")] + public Output> Browsers { get; private set; } = null!; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + /// MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + /// + [Output("devices")] + public Output> Devices { get; private set; } = null!; + /// /// Capture a screenshot during job execution. /// @@ -194,7 +229,7 @@ public partial class StepMonitor : global::Pulumi.CustomResource public Output RuntimeType { get; private set; } = null!; /// - /// The specific semver version of the runtime type. + /// The specific version of the runtime type selected. /// [Output("runtimeTypeVersion")] public Output RuntimeTypeVersion { get; private set; } = null!; @@ -272,6 +307,31 @@ public sealed class StepMonitorArgs : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + /// MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// @@ -321,7 +381,7 @@ public InputList LocationsPublics public Input? RuntimeType { get; set; } /// - /// The specific semver version of the runtime type. + /// The specific version of the runtime type selected. /// [Input("runtimeTypeVersion")] public Input? RuntimeTypeVersion { get; set; } @@ -373,6 +433,31 @@ public sealed class StepMonitorState : global::Pulumi.ResourceArgs [Input("accountId")] public Input? AccountId { get; set; } + [Input("browsers")] + private InputList? _browsers; + + /// + /// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + /// + public InputList Browsers + { + get => _browsers ?? (_browsers = new InputList()); + set => _browsers = value; + } + + [Input("devices")] + private InputList? _devices; + + /// + /// The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + /// MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + /// + public InputList Devices + { + get => _devices ?? (_devices = new InputList()); + set => _devices = value; + } + /// /// Capture a screenshot during job execution. /// @@ -434,7 +519,7 @@ public InputList LocationsPublics public Input? RuntimeType { get; set; } /// - /// The specific semver version of the runtime type. + /// The specific version of the runtime type selected. /// [Input("runtimeTypeVersion")] public Input? RuntimeTypeVersion { get; set; } diff --git a/sdk/go/newrelic/synthetics/monitor.go b/sdk/go/newrelic/synthetics/monitor.go index d9362530..bdf2ffbf 100644 --- a/sdk/go/newrelic/synthetics/monitor.go +++ b/sdk/go/newrelic/synthetics/monitor.go @@ -85,20 +85,26 @@ import ( // LocationsPublics: pulumi.StringArray{ // pulumi.String("AP_SOUTH_1"), // }, -// CustomHeaders: synthetics.MonitorCustomHeaderArray{ -// &synthetics.MonitorCustomHeaderArgs{ -// Name: pulumi.String("some_name"), -// Value: pulumi.String("some_value"), -// }, -// }, // EnableScreenshotOnFailureAndScript: pulumi.Bool(true), // ValidationString: pulumi.String("success"), // VerifySsl: pulumi.Bool(true), // RuntimeType: pulumi.String("CHROME_BROWSER"), // RuntimeTypeVersion: pulumi.String("100"), // ScriptLanguage: pulumi.String("JAVASCRIPT"), -// DeviceType: pulumi.String("MOBILE"), -// DeviceOrientation: pulumi.String("LANDSCAPE"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("TABLET_LANDSCAPE"), +// pulumi.String("MOBILE_PORTRAIT"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, +// CustomHeaders: synthetics.MonitorCustomHeaderArray{ +// &synthetics.MonitorCustomHeaderArgs{ +// Name: pulumi.String("some_name"), +// Value: pulumi.String("some_value"), +// }, +// }, // Tags: synthetics.MonitorTagArray{ // &synthetics.MonitorTagArgs{ // Key: pulumi.String("some_key"), @@ -215,18 +221,26 @@ import ( // LocationsPrivates: pulumi.StringArray{ // location.ID(), // }, -// CustomHeaders: synthetics.MonitorCustomHeaderArray{ -// &synthetics.MonitorCustomHeaderArgs{ -// Name: pulumi.String("some_name"), -// Value: pulumi.String("some_value"), -// }, -// }, // EnableScreenshotOnFailureAndScript: pulumi.Bool(true), // ValidationString: pulumi.String("success"), // VerifySsl: pulumi.Bool(true), // RuntimeTypeVersion: pulumi.String("100"), // RuntimeType: pulumi.String("CHROME_BROWSER"), // ScriptLanguage: pulumi.String("JAVASCRIPT"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("TABLET_LANDSCAPE"), +// pulumi.String("MOBILE_PORTRAIT"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, +// CustomHeaders: synthetics.MonitorCustomHeaderArray{ +// &synthetics.MonitorCustomHeaderArgs{ +// Name: pulumi.String("some_name"), +// Value: pulumi.String("some_value"), +// }, +// }, // Tags: synthetics.MonitorTagArray{ // &synthetics.MonitorTagArgs{ // Key: pulumi.String("some_key"), @@ -259,16 +273,20 @@ type Monitor struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringOutput `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayOutput `pulumi:"browsers"` // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: BypassHeadRequest pulumi.BoolPtrOutput `pulumi:"bypassHeadRequest"` // Custom headers to use in monitor job. See Nested customHeader blocks below for details. CustomHeaders MonitorCustomHeaderArrayOutput `pulumi:"customHeaders"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // 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.StringPtrOutput `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrOutput `pulumi:"deviceType"` + // 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.StringArrayOutput `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrOutput `pulumi:"enableScreenshotOnFailureAndScript"` // The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locationsPublic` or `locationsPrivate` is required. @@ -344,16 +362,20 @@ func GetMonitor(ctx *pulumi.Context, type monitorState struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: BypassHeadRequest *bool `pulumi:"bypassHeadRequest"` // Custom headers to use in monitor job. See Nested customHeader blocks below for details. CustomHeaders []MonitorCustomHeader `pulumi:"customHeaders"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // 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 *string `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType *string `pulumi:"deviceType"` + // The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locationsPublic` or `locationsPrivate` is required. @@ -394,16 +416,20 @@ type monitorState struct { type MonitorState struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: BypassHeadRequest pulumi.BoolPtrInput // Custom headers to use in monitor job. See Nested customHeader blocks below for details. CustomHeaders MonitorCustomHeaderArrayInput - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // 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.StringPtrInput - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrInput + // 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.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locationsPublic` or `locationsPrivate` is required. @@ -448,16 +474,20 @@ func (MonitorState) ElementType() reflect.Type { type monitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: BypassHeadRequest *bool `pulumi:"bypassHeadRequest"` // Custom headers to use in monitor job. See Nested customHeader blocks below for details. CustomHeaders []MonitorCustomHeader `pulumi:"customHeaders"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // 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 *string `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType *string `pulumi:"deviceType"` + // The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locationsPublic` or `locationsPrivate` is required. @@ -497,16 +527,20 @@ type monitorArgs struct { type MonitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: BypassHeadRequest pulumi.BoolPtrInput // Custom headers to use in monitor job. See Nested customHeader blocks below for details. CustomHeaders MonitorCustomHeaderArrayInput - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // 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.StringPtrInput - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrInput + // 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.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locationsPublic` or `locationsPrivate` is required. @@ -634,6 +668,11 @@ func (o MonitorOutput) AccountId() pulumi.StringOutput { return o.ApplyT(func(v *Monitor) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) } +// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. +func (o MonitorOutput) Browsers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Monitor) pulumi.StringArrayOutput { return v.Browsers }).(pulumi.StringArrayOutput) +} + // Monitor should skip default HEAD request and instead use GET verb in check. // // The `BROWSER` monitor type supports the following additional arguments: @@ -646,16 +685,21 @@ func (o MonitorOutput) CustomHeaders() MonitorCustomHeaderArrayOutput { return o.ApplyT(func(v *Monitor) MonitorCustomHeaderArrayOutput { return v.CustomHeaders }).(MonitorCustomHeaderArrayOutput) } -// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. +// 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. func (o MonitorOutput) DeviceOrientation() pulumi.StringPtrOutput { return o.ApplyT(func(v *Monitor) pulumi.StringPtrOutput { return v.DeviceOrientation }).(pulumi.StringPtrOutput) } -// Device emulation type field. Valid values are `MOBILE` and `TABLET`. +// 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. func (o MonitorOutput) DeviceType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Monitor) pulumi.StringPtrOutput { return v.DeviceType }).(pulumi.StringPtrOutput) } +// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. +func (o MonitorOutput) Devices() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Monitor) pulumi.StringArrayOutput { return v.Devices }).(pulumi.StringArrayOutput) +} + // Capture a screenshot during job execution. func (o MonitorOutput) EnableScreenshotOnFailureAndScript() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Monitor) pulumi.BoolPtrOutput { return v.EnableScreenshotOnFailureAndScript }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/newrelic/synthetics/scriptMonitor.go b/sdk/go/newrelic/synthetics/scriptMonitor.go index ed4a5a4d..96791ef2 100644 --- a/sdk/go/newrelic/synthetics/scriptMonitor.go +++ b/sdk/go/newrelic/synthetics/scriptMonitor.go @@ -80,12 +80,20 @@ import ( // pulumi.String("AP_SOUTH_1"), // pulumi.String("AP_EAST_1"), // }, -// Period: pulumi.String("EVERY_HOUR"), +// Period: pulumi.String("EVERY_HOUR"), +// Script: pulumi.String("$browser.get('https://one.newrelic.com')"), +// RuntimeTypeVersion: pulumi.String("100"), +// RuntimeType: pulumi.String("CHROME_BROWSER"), +// ScriptLanguage: pulumi.String("JAVASCRIPT"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("MOBILE_PORTRAIT"), +// pulumi.String("TABLET_LANDSCAPE"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, // EnableScreenshotOnFailureAndScript: pulumi.Bool(false), -// Script: pulumi.String("$browser.get('https://one.newrelic.com')"), -// RuntimeTypeVersion: pulumi.String("100"), -// RuntimeType: pulumi.String("CHROME_BROWSER"), -// ScriptLanguage: pulumi.String("JAVASCRIPT"), // Tags: synthetics.ScriptMonitorTagArray{ // &synthetics.ScriptMonitorTagArgs{ // Key: pulumi.String("some_key"), @@ -190,11 +198,22 @@ import ( // return err // } // _, err = synthetics.NewScriptMonitor(ctx, "monitor", &synthetics.ScriptMonitorArgs{ -// Status: pulumi.String("ENABLED"), -// Name: pulumi.String("script_monitor"), -// Type: pulumi.String("SCRIPT_BROWSER"), -// Period: pulumi.String("EVERY_HOUR"), -// Script: pulumi.String("$browser.get('https://one.newrelic.com')"), +// Status: pulumi.String("ENABLED"), +// Name: pulumi.String("script_monitor"), +// Type: pulumi.String("SCRIPT_BROWSER"), +// Period: pulumi.String("EVERY_HOUR"), +// Script: pulumi.String("$browser.get('https://one.newrelic.com')"), +// RuntimeTypeVersion: pulumi.String("100"), +// RuntimeType: pulumi.String("CHROME_BROWSER"), +// ScriptLanguage: pulumi.String("JAVASCRIPT"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("MOBILE_PORTRAIT"), +// pulumi.String("TABLET_LANDSCAPE"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, // EnableScreenshotOnFailureAndScript: pulumi.Bool(false), // LocationPrivates: synthetics.ScriptMonitorLocationPrivateArray{ // &synthetics.ScriptMonitorLocationPrivateArgs{ @@ -202,11 +221,6 @@ import ( // VsePassword: pulumi.String("secret"), // }, // }, -// RuntimeTypeVersion: pulumi.String("100"), -// RuntimeType: pulumi.String("CHROME_BROWSER"), -// ScriptLanguage: pulumi.String("JAVASCRIPT"), -// DeviceType: pulumi.String("MOBILE"), -// DeviceOrientation: pulumi.String("LANDSCAPE"), // Tags: synthetics.ScriptMonitorTagArray{ // &synthetics.ScriptMonitorTagArgs{ // Key: pulumi.String("some_key"), @@ -239,10 +253,14 @@ type ScriptMonitor struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringOutput `pulumi:"accountId"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayOutput `pulumi:"browsers"` + // 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.StringPtrOutput `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrOutput `pulumi:"deviceType"` + // 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.StringArrayOutput `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrOutput `pulumi:"enableScreenshotOnFailureAndScript"` // The unique entity identifier of the monitor in New Relic. @@ -317,10 +335,14 @@ func GetScriptMonitor(ctx *pulumi.Context, type scriptMonitorState struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` + // 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 *string `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType *string `pulumi:"deviceType"` + // The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The unique entity identifier of the monitor in New Relic. @@ -357,10 +379,14 @@ type scriptMonitorState struct { type ScriptMonitorState struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput + // 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.StringPtrInput - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrInput + // 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.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The unique entity identifier of the monitor in New Relic. @@ -401,10 +427,14 @@ func (ScriptMonitorState) ElementType() reflect.Type { type scriptMonitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` + // 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 *string `pulumi:"deviceOrientation"` - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType *string `pulumi:"deviceType"` + // The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The location the monitor will run from. See Nested locationPrivate blocks below for details. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. @@ -438,10 +468,14 @@ type scriptMonitorArgs struct { type ScriptMonitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput - // Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput + // 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.StringPtrInput - // Device emulation type field. Valid values are `MOBILE` and `TABLET`. + // 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. DeviceType pulumi.StringPtrInput + // 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.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The location the monitor will run from. See Nested locationPrivate blocks below for details. **At least one of either** `locationsPublic` **or** `locationPrivate` **is required**. @@ -563,16 +597,26 @@ func (o ScriptMonitorOutput) AccountId() pulumi.StringOutput { return o.ApplyT(func(v *ScriptMonitor) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) } -// Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. +// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. +func (o ScriptMonitorOutput) Browsers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ScriptMonitor) pulumi.StringArrayOutput { return v.Browsers }).(pulumi.StringArrayOutput) +} + +// 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. func (o ScriptMonitorOutput) DeviceOrientation() pulumi.StringPtrOutput { return o.ApplyT(func(v *ScriptMonitor) pulumi.StringPtrOutput { return v.DeviceOrientation }).(pulumi.StringPtrOutput) } -// Device emulation type field. Valid values are `MOBILE` and `TABLET`. +// 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. func (o ScriptMonitorOutput) DeviceType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ScriptMonitor) pulumi.StringPtrOutput { return v.DeviceType }).(pulumi.StringPtrOutput) } +// The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. +func (o ScriptMonitorOutput) Devices() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ScriptMonitor) pulumi.StringArrayOutput { return v.Devices }).(pulumi.StringArrayOutput) +} + // Capture a screenshot during job execution. func (o ScriptMonitorOutput) EnableScreenshotOnFailureAndScript() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ScriptMonitor) pulumi.BoolPtrOutput { return v.EnableScreenshotOnFailureAndScript }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/newrelic/synthetics/stepMonitor.go b/sdk/go/newrelic/synthetics/stepMonitor.go index c6ba0b1a..1c885157 100644 --- a/sdk/go/newrelic/synthetics/stepMonitor.go +++ b/sdk/go/newrelic/synthetics/stepMonitor.go @@ -37,6 +37,14 @@ import ( // Status: pulumi.String("ENABLED"), // RuntimeType: pulumi.String("CHROME_BROWSER"), // RuntimeTypeVersion: pulumi.String("100"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("MOBILE_PORTRAIT"), +// pulumi.String("TABLET_LANDSCAPE"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, // Steps: synthetics.StepMonitorStepArray{ // &synthetics.StepMonitorStepArgs{ // Ordinal: pulumi.Int(0), @@ -94,9 +102,19 @@ import ( // return err // } // _, err = synthetics.NewStepMonitor(ctx, "foo", &synthetics.StepMonitorArgs{ -// Name: pulumi.String("Sample Step Monitor"), -// Period: pulumi.String("EVERY_6_HOURS"), -// Status: pulumi.String("ENABLED"), +// Name: pulumi.String("Sample Step Monitor"), +// Period: pulumi.String("EVERY_6_HOURS"), +// Status: pulumi.String("ENABLED"), +// RuntimeType: pulumi.String("CHROME_BROWSER"), +// RuntimeTypeVersion: pulumi.String("100"), +// Devices: pulumi.StringArray{ +// pulumi.String("DESKTOP"), +// pulumi.String("MOBILE_PORTRAIT"), +// pulumi.String("TABLET_LANDSCAPE"), +// }, +// Browsers: pulumi.StringArray{ +// pulumi.String("CHROME"), +// }, // LocationPrivates: synthetics.StepMonitorLocationPrivateArray{ // &synthetics.StepMonitorLocationPrivateArgs{ // Guid: foo.ID(), @@ -144,6 +162,11 @@ type StepMonitor struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringOutput `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayOutput `pulumi:"browsers"` + // The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + // MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + Devices pulumi.StringArrayOutput `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrOutput `pulumi:"enableScreenshotOnFailureAndScript"` // The unique entity identifier of the monitor in New Relic. @@ -160,7 +183,7 @@ type StepMonitor struct { PeriodInMinutes pulumi.IntOutput `pulumi:"periodInMinutes"` // The runtime that the monitor will use to run jobs. RuntimeType pulumi.StringPtrOutput `pulumi:"runtimeType"` - // The specific semver version of the runtime type. + // The specific version of the runtime type selected. RuntimeTypeVersion pulumi.StringPtrOutput `pulumi:"runtimeTypeVersion"` // The monitor status (ENABLED or DISABLED). Status pulumi.StringOutput `pulumi:"status"` @@ -212,6 +235,11 @@ func GetStepMonitor(ctx *pulumi.Context, type stepMonitorState struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` + // The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + // MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The unique entity identifier of the monitor in New Relic. @@ -228,7 +256,7 @@ type stepMonitorState struct { PeriodInMinutes *int `pulumi:"periodInMinutes"` // The runtime that the monitor will use to run jobs. RuntimeType *string `pulumi:"runtimeType"` - // The specific semver version of the runtime type. + // The specific version of the runtime type selected. RuntimeTypeVersion *string `pulumi:"runtimeTypeVersion"` // The monitor status (ENABLED or DISABLED). Status *string `pulumi:"status"` @@ -242,6 +270,11 @@ type stepMonitorState struct { type StepMonitorState struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput + // The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + // MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + Devices pulumi.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The unique entity identifier of the monitor in New Relic. @@ -258,7 +291,7 @@ type StepMonitorState struct { PeriodInMinutes pulumi.IntPtrInput // The runtime that the monitor will use to run jobs. RuntimeType pulumi.StringPtrInput - // The specific semver version of the runtime type. + // The specific version of the runtime type selected. RuntimeTypeVersion pulumi.StringPtrInput // The monitor status (ENABLED or DISABLED). Status pulumi.StringPtrInput @@ -276,6 +309,11 @@ func (StepMonitorState) ElementType() reflect.Type { type stepMonitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId *string `pulumi:"accountId"` + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers []string `pulumi:"browsers"` + // The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + // MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + Devices []string `pulumi:"devices"` // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript *bool `pulumi:"enableScreenshotOnFailureAndScript"` // The location the monitor will run from. At least one of `locationsPublic` or `locationPrivate` is required. See Nested locationsPrivate blocks below for details. @@ -288,7 +326,7 @@ type stepMonitorArgs struct { Period string `pulumi:"period"` // The runtime that the monitor will use to run jobs. RuntimeType *string `pulumi:"runtimeType"` - // The specific semver version of the runtime type. + // The specific version of the runtime type selected. RuntimeTypeVersion *string `pulumi:"runtimeTypeVersion"` // The monitor status (ENABLED or DISABLED). Status string `pulumi:"status"` @@ -303,6 +341,11 @@ type stepMonitorArgs struct { type StepMonitorArgs struct { // The account in which the Synthetics monitor will be created. AccountId pulumi.StringPtrInput + // The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + Browsers pulumi.StringArrayInput + // The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + // MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + Devices pulumi.StringArrayInput // Capture a screenshot during job execution. EnableScreenshotOnFailureAndScript pulumi.BoolPtrInput // The location the monitor will run from. At least one of `locationsPublic` or `locationPrivate` is required. See Nested locationsPrivate blocks below for details. @@ -315,7 +358,7 @@ type StepMonitorArgs struct { Period pulumi.StringInput // The runtime that the monitor will use to run jobs. RuntimeType pulumi.StringPtrInput - // The specific semver version of the runtime type. + // The specific version of the runtime type selected. RuntimeTypeVersion pulumi.StringPtrInput // The monitor status (ENABLED or DISABLED). Status pulumi.StringInput @@ -418,6 +461,17 @@ func (o StepMonitorOutput) AccountId() pulumi.StringOutput { return o.ApplyT(func(v *StepMonitor) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) } +// The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. +func (o StepMonitorOutput) Browsers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StepMonitor) pulumi.StringArrayOutput { return v.Browsers }).(pulumi.StringArrayOutput) +} + +// The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, +// MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT +func (o StepMonitorOutput) Devices() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StepMonitor) pulumi.StringArrayOutput { return v.Devices }).(pulumi.StringArrayOutput) +} + // Capture a screenshot during job execution. func (o StepMonitorOutput) EnableScreenshotOnFailureAndScript() pulumi.BoolPtrOutput { return o.ApplyT(func(v *StepMonitor) pulumi.BoolPtrOutput { return v.EnableScreenshotOnFailureAndScript }).(pulumi.BoolPtrOutput) @@ -458,7 +512,7 @@ func (o StepMonitorOutput) RuntimeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *StepMonitor) pulumi.StringPtrOutput { return v.RuntimeType }).(pulumi.StringPtrOutput) } -// The specific semver version of the runtime type. +// The specific version of the runtime type selected. func (o StepMonitorOutput) RuntimeTypeVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *StepMonitor) pulumi.StringPtrOutput { return v.RuntimeTypeVersion }).(pulumi.StringPtrOutput) } diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 1dd8221d..2eb1e76f 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.15.0") + implementation("com.pulumi:pulumi:0.16.0") } task sourcesJar(type: Jar) { diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/Monitor.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/Monitor.java index 80380c07..10d69957 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/Monitor.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/Monitor.java @@ -107,18 +107,21 @@ * .uri("https://www.one.newrelic.com") * .type("BROWSER") * .locationsPublics("AP_SOUTH_1") - * .customHeaders(MonitorCustomHeaderArgs.builder() - * .name("some_name") - * .value("some_value") - * .build()) * .enableScreenshotOnFailureAndScript(true) * .validationString("success") * .verifySsl(true) * .runtimeType("CHROME_BROWSER") * .runtimeTypeVersion("100") * .scriptLanguage("JAVASCRIPT") - * .deviceType("MOBILE") - * .deviceOrientation("LANDSCAPE") + * .devices( + * "DESKTOP", + * "TABLET_LANDSCAPE", + * "MOBILE_PORTRAIT") + * .browsers("CHROME") + * .customHeaders(MonitorCustomHeaderArgs.builder() + * .name("some_name") + * .value("some_value") + * .build()) * .tags(MonitorTagArgs.builder() * .key("some_key") * .values("some_value") @@ -243,16 +246,21 @@ * .name("monitor") * .period("EVERY_MINUTE") * .locationsPrivates(location.id()) - * .customHeaders(MonitorCustomHeaderArgs.builder() - * .name("some_name") - * .value("some_value") - * .build()) * .enableScreenshotOnFailureAndScript(true) * .validationString("success") * .verifySsl(true) * .runtimeTypeVersion("100") * .runtimeType("CHROME_BROWSER") * .scriptLanguage("JAVASCRIPT") + * .devices( + * "DESKTOP", + * "TABLET_LANDSCAPE", + * "MOBILE_PORTRAIT") + * .browsers("CHROME") + * .customHeaders(MonitorCustomHeaderArgs.builder() + * .name("some_name") + * .value("some_value") + * .build()) * .tags(MonitorTagArgs.builder() * .key("some_key") * .values("some_value") @@ -292,6 +300,20 @@ public class Monitor extends com.pulumi.resources.CustomResource { public Output accountId() { return this.accountId; } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Export(name="browsers", refs={List.class,String.class}, tree="[0,1]") + private Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Output>> browsers() { + return Codegen.optional(this.browsers); + } /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -325,33 +347,47 @@ public Output>> customHeaders() { return Codegen.optional(this.customHeaders); } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Export(name="deviceOrientation", refs={String.class}, tree="[0]") private Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Output> deviceOrientation() { return Codegen.optional(this.deviceOrientation); } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Export(name="deviceType", refs={String.class}, tree="[0]") private Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Output> deviceType() { return Codegen.optional(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Export(name="devices", refs={List.class,String.class}, tree="[0,1]") + private Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Output>> devices() { + return Codegen.optional(this.devices); + } /** * Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/MonitorArgs.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/MonitorArgs.java index c40a1b17..75680c2b 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/MonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/MonitorArgs.java @@ -35,6 +35,21 @@ public Optional> accountId() { return Optional.ofNullable(this.accountId); } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -70,14 +85,14 @@ public Optional>> customHeaders() { } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceOrientation") private @Nullable Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceOrientation() { @@ -85,20 +100,35 @@ public Optional> deviceOrientation() { } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceType") private @Nullable Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceType() { return Optional.ofNullable(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -339,10 +369,12 @@ private MonitorArgs() {} private MonitorArgs(MonitorArgs $) { this.accountId = $.accountId; + this.browsers = $.browsers; this.bypassHeadRequest = $.bypassHeadRequest; this.customHeaders = $.customHeaders; this.deviceOrientation = $.deviceOrientation; this.deviceType = $.deviceType; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.locationsPrivates = $.locationsPrivates; this.locationsPublics = $.locationsPublics; @@ -400,6 +432,37 @@ public Builder accountId(String accountId) { return accountId(Output.of(accountId)); } + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + /** * @param bypassHeadRequest Monitor should skip default HEAD request and instead use GET verb in check. * @@ -457,7 +520,7 @@ public Builder customHeaders(MonitorCustomHeaderArgs... customHeaders) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -468,7 +531,7 @@ public Builder deviceOrientation(@Nullable Output deviceOrientation) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -478,7 +541,7 @@ public Builder deviceOrientation(String deviceOrientation) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -489,7 +552,7 @@ public Builder deviceType(@Nullable Output deviceType) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -498,6 +561,37 @@ public Builder deviceType(String deviceType) { return deviceType(Output.of(deviceType)); } + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitor.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitor.java index 02142373..b2cdbc95 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitor.java @@ -105,11 +105,16 @@ * "AP_SOUTH_1", * "AP_EAST_1") * .period("EVERY_HOUR") - * .enableScreenshotOnFailureAndScript(false) * .script("$browser.get('https://one.newrelic.com')") * .runtimeTypeVersion("100") * .runtimeType("CHROME_BROWSER") * .scriptLanguage("JAVASCRIPT") + * .devices( + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE") + * .browsers("CHROME") + * .enableScreenshotOnFailureAndScript(false) * .tags(ScriptMonitorTagArgs.builder() * .key("some_key") * .values("some_value") @@ -231,16 +236,19 @@ * .type("SCRIPT_BROWSER") * .period("EVERY_HOUR") * .script("$browser.get('https://one.newrelic.com')") + * .runtimeTypeVersion("100") + * .runtimeType("CHROME_BROWSER") + * .scriptLanguage("JAVASCRIPT") + * .devices( + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE") + * .browsers("CHROME") * .enableScreenshotOnFailureAndScript(false) * .locationPrivates(ScriptMonitorLocationPrivateArgs.builder() * .guid(location.id()) * .vsePassword("secret") * .build()) - * .runtimeTypeVersion("100") - * .runtimeType("CHROME_BROWSER") - * .scriptLanguage("JAVASCRIPT") - * .deviceType("MOBILE") - * .deviceOrientation("LANDSCAPE") * .tags(ScriptMonitorTagArgs.builder() * .key("some_key") * .values("some_value") @@ -281,33 +289,61 @@ public Output accountId() { return this.accountId; } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Export(name="browsers", refs={List.class,String.class}, tree="[0,1]") + private Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Output>> browsers() { + return Codegen.optional(this.browsers); + } + /** + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Export(name="deviceOrientation", refs={String.class}, tree="[0]") private Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Output> deviceOrientation() { return Codegen.optional(this.deviceOrientation); } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Export(name="deviceType", refs={String.class}, tree="[0]") private Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Output> deviceType() { return Codegen.optional(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Export(name="devices", refs={List.class,String.class}, tree="[0,1]") + private Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Output>> devices() { + return Codegen.optional(this.devices); + } /** * Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitorArgs.java index 1b8fed4b..44644e2a 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/ScriptMonitorArgs.java @@ -36,14 +36,29 @@ public Optional> accountId() { } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + + /** + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceOrientation") private @Nullable Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceOrientation() { @@ -51,20 +66,35 @@ public Optional> deviceOrientation() { } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceType") private @Nullable Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceType() { return Optional.ofNullable(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -260,8 +290,10 @@ private ScriptMonitorArgs() {} private ScriptMonitorArgs(ScriptMonitorArgs $) { this.accountId = $.accountId; + this.browsers = $.browsers; this.deviceOrientation = $.deviceOrientation; this.deviceType = $.deviceType; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.locationPrivates = $.locationPrivates; this.locationsPublics = $.locationsPublics; @@ -317,7 +349,38 @@ public Builder accountId(String accountId) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + + /** + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -328,7 +391,7 @@ public Builder deviceOrientation(@Nullable Output deviceOrientation) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -338,7 +401,7 @@ public Builder deviceOrientation(String deviceOrientation) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -349,7 +412,7 @@ public Builder deviceType(@Nullable Output deviceType) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -358,6 +421,37 @@ public Builder deviceType(String deviceType) { return deviceType(Output.of(deviceType)); } + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitor.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitor.java index 84dae07b..7ffee22d 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitor.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitor.java @@ -58,6 +58,11 @@ * .status("ENABLED") * .runtimeType("CHROME_BROWSER") * .runtimeTypeVersion("100") + * .devices( + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE") + * .browsers("CHROME") * .steps(StepMonitorStepArgs.builder() * .ordinal(0) * .type("NAVIGATE") @@ -122,6 +127,13 @@ * .name("Sample Step Monitor") * .period("EVERY_6_HOURS") * .status("ENABLED") + * .runtimeType("CHROME_BROWSER") + * .runtimeTypeVersion("100") + * .devices( + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE") + * .browsers("CHROME") * .locationPrivates(StepMonitorLocationPrivateArgs.builder() * .guid(foo.id()) * .vsePassword("secret") @@ -170,6 +182,36 @@ public class StepMonitor extends com.pulumi.resources.CustomResource { public Output accountId() { return this.accountId; } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Export(name="browsers", refs={List.class,String.class}, tree="[0,1]") + private Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Output>> browsers() { + return Codegen.optional(this.browsers); + } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + @Export(name="devices", refs={List.class,String.class}, tree="[0,1]") + private Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + public Output>> devices() { + return Codegen.optional(this.devices); + } /** * Capture a screenshot during job execution. * @@ -283,14 +325,14 @@ public Output> runtimeType() { return Codegen.optional(this.runtimeType); } /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. * */ @Export(name="runtimeTypeVersion", refs={String.class}, tree="[0]") private Output runtimeTypeVersion; /** - * @return The specific semver version of the runtime type. + * @return The specific version of the runtime type selected. * */ public Output> runtimeTypeVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitorArgs.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitorArgs.java index c41c6278..def7cbc8 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/StepMonitorArgs.java @@ -36,6 +36,38 @@ public Optional> accountId() { return Optional.ofNullable(this.accountId); } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -127,14 +159,14 @@ public Optional> runtimeType() { } /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. * */ @Import(name="runtimeTypeVersion") private @Nullable Output runtimeTypeVersion; /** - * @return The specific semver version of the runtime type. + * @return The specific version of the runtime type selected. * */ public Optional> runtimeTypeVersion() { @@ -197,6 +229,8 @@ private StepMonitorArgs() {} private StepMonitorArgs(StepMonitorArgs $) { this.accountId = $.accountId; + this.browsers = $.browsers; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.locationPrivates = $.locationPrivates; this.locationsPublics = $.locationsPublics; @@ -249,6 +283,71 @@ public Builder accountId(String accountId) { return accountId(Output.of(accountId)); } + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * @@ -396,7 +495,7 @@ public Builder runtimeType(String runtimeType) { } /** - * @param runtimeTypeVersion The specific semver version of the runtime type. + * @param runtimeTypeVersion The specific version of the runtime type selected. * * @return builder * @@ -407,7 +506,7 @@ public Builder runtimeTypeVersion(@Nullable Output runtimeTypeVersion) { } /** - * @param runtimeTypeVersion The specific semver version of the runtime type. + * @param runtimeTypeVersion The specific version of the runtime type selected. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/MonitorState.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/MonitorState.java index 4bded1c4..623ce5b2 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/MonitorState.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/MonitorState.java @@ -35,6 +35,21 @@ public Optional> accountId() { return Optional.ofNullable(this.accountId); } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -70,14 +85,14 @@ public Optional>> customHeaders() { } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceOrientation") private @Nullable Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceOrientation() { @@ -85,20 +100,35 @@ public Optional> deviceOrientation() { } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceType") private @Nullable Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceType() { return Optional.ofNullable(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -354,10 +384,12 @@ private MonitorState() {} private MonitorState(MonitorState $) { this.accountId = $.accountId; + this.browsers = $.browsers; this.bypassHeadRequest = $.bypassHeadRequest; this.customHeaders = $.customHeaders; this.deviceOrientation = $.deviceOrientation; this.deviceType = $.deviceType; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.locationsPrivates = $.locationsPrivates; this.locationsPublics = $.locationsPublics; @@ -416,6 +448,37 @@ public Builder accountId(String accountId) { return accountId(Output.of(accountId)); } + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + /** * @param bypassHeadRequest Monitor should skip default HEAD request and instead use GET verb in check. * @@ -473,7 +536,7 @@ public Builder customHeaders(MonitorCustomHeaderArgs... customHeaders) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -484,7 +547,7 @@ public Builder deviceOrientation(@Nullable Output deviceOrientation) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -494,7 +557,7 @@ public Builder deviceOrientation(String deviceOrientation) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -505,7 +568,7 @@ public Builder deviceType(@Nullable Output deviceType) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -514,6 +577,37 @@ public Builder deviceType(String deviceType) { return deviceType(Output.of(deviceType)); } + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/ScriptMonitorState.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/ScriptMonitorState.java index eb5a8f3f..88a209d7 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/ScriptMonitorState.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/ScriptMonitorState.java @@ -36,14 +36,29 @@ public Optional> accountId() { } /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + + /** + * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceOrientation") private @Nullable Output deviceOrientation; /** - * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @return Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceOrientation() { @@ -51,20 +66,35 @@ public Optional> deviceOrientation() { } /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ @Import(name="deviceType") private @Nullable Output deviceType; /** - * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @return Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * */ public Optional> deviceType() { return Optional.ofNullable(this.deviceType); } + /** + * The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -290,8 +320,10 @@ private ScriptMonitorState() {} private ScriptMonitorState(ScriptMonitorState $) { this.accountId = $.accountId; + this.browsers = $.browsers; this.deviceOrientation = $.deviceOrientation; this.deviceType = $.deviceType; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.guid = $.guid; this.locationPrivates = $.locationPrivates; @@ -349,7 +381,38 @@ public Builder accountId(String accountId) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + + /** + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -360,7 +423,7 @@ public Builder deviceOrientation(@Nullable Output deviceOrientation) { } /** - * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * @param deviceOrientation Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -370,7 +433,7 @@ public Builder deviceOrientation(String deviceOrientation) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -381,7 +444,7 @@ public Builder deviceType(@Nullable Output deviceType) { } /** - * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * @param deviceType Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. * * @return builder * @@ -390,6 +453,37 @@ public Builder deviceType(String deviceType) { return deviceType(Output.of(deviceType)); } + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * diff --git a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/StepMonitorState.java b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/StepMonitorState.java index e6d1c7c8..69011dc5 100644 --- a/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/StepMonitorState.java +++ b/sdk/java/src/main/java/com/pulumi/newrelic/synthetics/inputs/StepMonitorState.java @@ -36,6 +36,38 @@ public Optional> accountId() { return Optional.ofNullable(this.accountId); } + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + @Import(name="browsers") + private @Nullable Output> browsers; + + /** + * @return The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + */ + public Optional>> browsers() { + return Optional.ofNullable(this.browsers); + } + + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + @Import(name="devices") + private @Nullable Output> devices; + + /** + * @return The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + */ + public Optional>> devices() { + return Optional.ofNullable(this.devices); + } + /** * Capture a screenshot during job execution. * @@ -157,14 +189,14 @@ public Optional> runtimeType() { } /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. * */ @Import(name="runtimeTypeVersion") private @Nullable Output runtimeTypeVersion; /** - * @return The specific semver version of the runtime type. + * @return The specific version of the runtime type selected. * */ public Optional> runtimeTypeVersion() { @@ -227,6 +259,8 @@ private StepMonitorState() {} private StepMonitorState(StepMonitorState $) { this.accountId = $.accountId; + this.browsers = $.browsers; + this.devices = $.devices; this.enableScreenshotOnFailureAndScript = $.enableScreenshotOnFailureAndScript; this.guid = $.guid; this.locationPrivates = $.locationPrivates; @@ -281,6 +315,71 @@ public Builder accountId(String accountId) { return accountId(Output.of(accountId)); } + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(@Nullable Output> browsers) { + $.browsers = browsers; + return this; + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(List browsers) { + return browsers(Output.of(browsers)); + } + + /** + * @param browsers The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + * + * @return builder + * + */ + public Builder browsers(String... browsers) { + return browsers(List.of(browsers)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(@Nullable Output> devices) { + $.devices = devices; + return this; + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(List devices) { + return devices(Output.of(devices)); + } + + /** + * @param devices The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + * + * @return builder + * + */ + public Builder devices(String... devices) { + return devices(List.of(devices)); + } + /** * @param enableScreenshotOnFailureAndScript Capture a screenshot during job execution. * @@ -470,7 +569,7 @@ public Builder runtimeType(String runtimeType) { } /** - * @param runtimeTypeVersion The specific semver version of the runtime type. + * @param runtimeTypeVersion The specific version of the runtime type selected. * * @return builder * @@ -481,7 +580,7 @@ public Builder runtimeTypeVersion(@Nullable Output runtimeTypeVersion) { } /** - * @param runtimeTypeVersion The specific semver version of the runtime type. + * @param runtimeTypeVersion The specific version of the runtime type selected. * * @return builder * diff --git a/sdk/nodejs/synthetics/monitor.ts b/sdk/nodejs/synthetics/monitor.ts index 24544577..4da86d5f 100644 --- a/sdk/nodejs/synthetics/monitor.ts +++ b/sdk/nodejs/synthetics/monitor.ts @@ -47,18 +47,22 @@ import * as utilities from "../utilities"; * uri: "https://www.one.newrelic.com", * type: "BROWSER", * locationsPublics: ["AP_SOUTH_1"], - * customHeaders: [{ - * name: "some_name", - * value: "some_value", - * }], * enableScreenshotOnFailureAndScript: true, * validationString: "success", * verifySsl: true, * runtimeType: "CHROME_BROWSER", * runtimeTypeVersion: "100", * scriptLanguage: "JAVASCRIPT", - * deviceType: "MOBILE", - * deviceOrientation: "LANDSCAPE", + * devices: [ + * "DESKTOP", + * "TABLET_LANDSCAPE", + * "MOBILE_PORTRAIT", + * ], + * browsers: ["CHROME"], + * customHeaders: [{ + * name: "some_name", + * value: "some_value", + * }], * tags: [{ * key: "some_key", * values: ["some_value"], @@ -125,16 +129,22 @@ import * as utilities from "../utilities"; * name: "monitor", * period: "EVERY_MINUTE", * locationsPrivates: [location.id], - * customHeaders: [{ - * name: "some_name", - * value: "some_value", - * }], * enableScreenshotOnFailureAndScript: true, * validationString: "success", * verifySsl: true, * runtimeTypeVersion: "100", * runtimeType: "CHROME_BROWSER", * scriptLanguage: "JAVASCRIPT", + * devices: [ + * "DESKTOP", + * "TABLET_LANDSCAPE", + * "MOBILE_PORTRAIT", + * ], + * browsers: ["CHROME"], + * customHeaders: [{ + * name: "some_name", + * value: "some_value", + * }], * tags: [{ * key: "some_key", * values: ["some_value"], @@ -184,6 +194,10 @@ export class Monitor extends pulumi.CustomResource { * The account in which the Synthetics monitor will be created. */ public readonly accountId!: pulumi.Output; + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + */ + public readonly browsers!: pulumi.Output; /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -195,13 +209,17 @@ export class Monitor extends pulumi.CustomResource { */ public readonly customHeaders!: pulumi.Output; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * 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. */ public readonly deviceOrientation!: pulumi.Output; /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * 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. */ public 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`. + */ + public readonly devices!: pulumi.Output; /** * Capture a screenshot during job execution. */ @@ -284,10 +302,12 @@ export class Monitor extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as MonitorState | undefined; resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["browsers"] = state ? state.browsers : undefined; resourceInputs["bypassHeadRequest"] = state ? state.bypassHeadRequest : undefined; resourceInputs["customHeaders"] = state ? state.customHeaders : undefined; resourceInputs["deviceOrientation"] = state ? state.deviceOrientation : undefined; resourceInputs["deviceType"] = state ? state.deviceType : undefined; + resourceInputs["devices"] = state ? state.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = state ? state.enableScreenshotOnFailureAndScript : undefined; resourceInputs["locationsPrivates"] = state ? state.locationsPrivates : undefined; resourceInputs["locationsPublics"] = state ? state.locationsPublics : undefined; @@ -314,10 +334,12 @@ export class Monitor extends pulumi.CustomResource { throw new Error("Missing required property 'type'"); } resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["browsers"] = args ? args.browsers : undefined; resourceInputs["bypassHeadRequest"] = args ? args.bypassHeadRequest : undefined; resourceInputs["customHeaders"] = args ? args.customHeaders : undefined; resourceInputs["deviceOrientation"] = args ? args.deviceOrientation : undefined; resourceInputs["deviceType"] = args ? args.deviceType : undefined; + resourceInputs["devices"] = args ? args.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = args ? args.enableScreenshotOnFailureAndScript : undefined; resourceInputs["locationsPrivates"] = args ? args.locationsPrivates : undefined; resourceInputs["locationsPublics"] = args ? args.locationsPublics : undefined; @@ -349,6 +371,10 @@ export interface MonitorState { * 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[]>; /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -360,13 +386,17 @@ export interface MonitorState { */ customHeaders?: pulumi.Input[]>; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * 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`. + * 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. */ 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[]>; /** * Capture a screenshot during job execution. */ @@ -444,6 +474,10 @@ export interface MonitorArgs { * 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[]>; /** * Monitor should skip default HEAD request and instead use GET verb in check. * @@ -455,13 +489,17 @@ export interface MonitorArgs { */ customHeaders?: pulumi.Input[]>; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * 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`. + * 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. */ 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[]>; /** * Capture a screenshot during job execution. */ diff --git a/sdk/nodejs/synthetics/scriptMonitor.ts b/sdk/nodejs/synthetics/scriptMonitor.ts index df7c837c..f9553ca1 100644 --- a/sdk/nodejs/synthetics/scriptMonitor.ts +++ b/sdk/nodejs/synthetics/scriptMonitor.ts @@ -49,11 +49,17 @@ import * as utilities from "../utilities"; * "AP_EAST_1", * ], * period: "EVERY_HOUR", - * enableScreenshotOnFailureAndScript: false, * script: "$browser.get('https://one.newrelic.com')", * runtimeTypeVersion: "100", * runtimeType: "CHROME_BROWSER", * scriptLanguage: "JAVASCRIPT", + * devices: [ + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE", + * ], + * browsers: ["CHROME"], + * enableScreenshotOnFailureAndScript: false, * tags: [{ * key: "some_key", * values: ["some_value"], @@ -117,16 +123,20 @@ import * as utilities from "../utilities"; * type: "SCRIPT_BROWSER", * period: "EVERY_HOUR", * script: "$browser.get('https://one.newrelic.com')", + * runtimeTypeVersion: "100", + * runtimeType: "CHROME_BROWSER", + * scriptLanguage: "JAVASCRIPT", + * devices: [ + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE", + * ], + * browsers: ["CHROME"], * enableScreenshotOnFailureAndScript: false, * locationPrivates: [{ * guid: location.id, * vsePassword: "secret", * }], - * runtimeTypeVersion: "100", - * runtimeType: "CHROME_BROWSER", - * scriptLanguage: "JAVASCRIPT", - * deviceType: "MOBILE", - * deviceOrientation: "LANDSCAPE", * tags: [{ * key: "some_key", * values: ["some_value"], @@ -177,13 +187,21 @@ export class ScriptMonitor extends pulumi.CustomResource { */ public readonly accountId!: pulumi.Output; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + */ + public 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. */ public readonly deviceOrientation!: pulumi.Output; /** - * Device emulation type field. Valid values are `MOBILE` and `TABLET`. + * 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. */ public 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`. + */ + public readonly devices!: pulumi.Output; /** * Capture a screenshot during job execution. */ @@ -258,8 +276,10 @@ export class ScriptMonitor extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ScriptMonitorState | undefined; resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["browsers"] = state ? state.browsers : undefined; resourceInputs["deviceOrientation"] = state ? state.deviceOrientation : undefined; resourceInputs["deviceType"] = state ? state.deviceType : undefined; + resourceInputs["devices"] = state ? state.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = state ? state.enableScreenshotOnFailureAndScript : undefined; resourceInputs["guid"] = state ? state.guid : undefined; resourceInputs["locationPrivates"] = state ? state.locationPrivates : undefined; @@ -287,8 +307,10 @@ export class ScriptMonitor extends pulumi.CustomResource { throw new Error("Missing required property 'type'"); } resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["browsers"] = args ? args.browsers : undefined; resourceInputs["deviceOrientation"] = args ? args.deviceOrientation : undefined; resourceInputs["deviceType"] = args ? args.deviceType : undefined; + resourceInputs["devices"] = args ? args.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = args ? args.enableScreenshotOnFailureAndScript : undefined; resourceInputs["locationPrivates"] = args ? args.locationPrivates : undefined; resourceInputs["locationsPublics"] = args ? args.locationsPublics : undefined; @@ -319,13 +341,21 @@ export interface ScriptMonitorState { */ accountId?: pulumi.Input; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + */ + browsers?: pulumi.Input[]>; + /** + * 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`. + * 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. */ 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[]>; /** * Capture a screenshot during job execution. */ @@ -396,13 +426,21 @@ export interface ScriptMonitorArgs { */ accountId?: pulumi.Input; /** - * Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + */ + browsers?: pulumi.Input[]>; + /** + * 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`. + * 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. */ 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[]>; /** * Capture a screenshot during job execution. */ diff --git a/sdk/nodejs/synthetics/stepMonitor.ts b/sdk/nodejs/synthetics/stepMonitor.ts index 622d1674..eb0f4b9d 100644 --- a/sdk/nodejs/synthetics/stepMonitor.ts +++ b/sdk/nodejs/synthetics/stepMonitor.ts @@ -24,6 +24,12 @@ import * as utilities from "../utilities"; * status: "ENABLED", * runtimeType: "CHROME_BROWSER", * runtimeTypeVersion: "100", + * devices: [ + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE", + * ], + * browsers: ["CHROME"], * steps: [{ * ordinal: 0, * type: "NAVIGATE", @@ -58,6 +64,14 @@ import * as utilities from "../utilities"; * name: "Sample Step Monitor", * period: "EVERY_6_HOURS", * status: "ENABLED", + * runtimeType: "CHROME_BROWSER", + * runtimeTypeVersion: "100", + * devices: [ + * "DESKTOP", + * "MOBILE_PORTRAIT", + * "TABLET_LANDSCAPE", + * ], + * browsers: ["CHROME"], * locationPrivates: [{ * guid: foo.id, * vsePassword: "secret", @@ -116,6 +130,15 @@ export class StepMonitor extends pulumi.CustomResource { * The account in which the Synthetics monitor will be created. */ public readonly accountId!: pulumi.Output; + /** + * The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + */ + public readonly browsers!: pulumi.Output; + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + */ + public readonly devices!: pulumi.Output; /** * Capture a screenshot during job execution. */ @@ -149,7 +172,7 @@ export class StepMonitor extends pulumi.CustomResource { */ public readonly runtimeType!: pulumi.Output; /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. */ public readonly runtimeTypeVersion!: pulumi.Output; /** @@ -180,6 +203,8 @@ export class StepMonitor extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as StepMonitorState | undefined; resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["browsers"] = state ? state.browsers : undefined; + resourceInputs["devices"] = state ? state.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = state ? state.enableScreenshotOnFailureAndScript : undefined; resourceInputs["guid"] = state ? state.guid : undefined; resourceInputs["locationPrivates"] = state ? state.locationPrivates : undefined; @@ -205,6 +230,8 @@ export class StepMonitor extends pulumi.CustomResource { throw new Error("Missing required property 'steps'"); } resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["browsers"] = args ? args.browsers : undefined; + resourceInputs["devices"] = args ? args.devices : undefined; resourceInputs["enableScreenshotOnFailureAndScript"] = args ? args.enableScreenshotOnFailureAndScript : undefined; resourceInputs["locationPrivates"] = args ? args.locationPrivates : undefined; resourceInputs["locationsPublics"] = args ? args.locationsPublics : undefined; @@ -232,6 +259,15 @@ 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[]>; + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + */ + devices?: pulumi.Input[]>; /** * Capture a screenshot during job execution. */ @@ -265,7 +301,7 @@ export interface StepMonitorState { */ runtimeType?: pulumi.Input; /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. */ runtimeTypeVersion?: pulumi.Input; /** @@ -291,6 +327,15 @@ 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[]>; + /** + * The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + * MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + */ + devices?: pulumi.Input[]>; /** * Capture a screenshot during job execution. */ @@ -316,7 +361,7 @@ export interface StepMonitorArgs { */ runtimeType?: pulumi.Input; /** - * The specific semver version of the runtime type. + * The specific version of the runtime type selected. */ runtimeTypeVersion?: pulumi.Input; /** diff --git a/sdk/python/pulumi_newrelic/synthetics/monitor.py b/sdk/python/pulumi_newrelic/synthetics/monitor.py index bf57e38d..c78a6fcb 100644 --- a/sdk/python/pulumi_newrelic/synthetics/monitor.py +++ b/sdk/python/pulumi_newrelic/synthetics/monitor.py @@ -19,10 +19,12 @@ def __init__(__self__, *, status: pulumi.Input[str], type: pulumi.Input[str], account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bypass_head_request: Optional[pulumi.Input[bool]] = None, custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -42,12 +44,14 @@ def __init__(__self__, *, :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :param pulumi.Input[str] type: The monitor type. Valid values are `SIMPLE` and `BROWSER`. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check. The `BROWSER` monitor type supports the following additional arguments: :param pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required. :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. @@ -68,6 +72,8 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) if bypass_head_request is not None: pulumi.set(__self__, "bypass_head_request", bypass_head_request) if custom_headers is not None: @@ -76,6 +82,8 @@ def __init__(__self__, *, pulumi.set(__self__, "device_orientation", device_orientation) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if locations_privates is not None: @@ -141,6 +149,18 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + @property @pulumi.getter(name="bypassHeadRequest") def bypass_head_request(self) -> Optional[pulumi.Input[bool]]: @@ -171,7 +191,7 @@ def custom_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Mon @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> Optional[pulumi.Input[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -183,7 +203,7 @@ def device_orientation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deviceType") def device_type(self) -> Optional[pulumi.Input[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") @@ -191,6 +211,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -363,10 +395,12 @@ def verify_ssl(self, value: Optional[pulumi.Input[bool]]): class _MonitorState: def __init__(__self__, *, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bypass_head_request: Optional[pulumi.Input[bool]] = None, custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -387,12 +421,14 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Monitor resources. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check. The `BROWSER` monitor type supports the following additional arguments: :param pulumi.Input[Sequence[pulumi.Input['MonitorCustomHeaderArgs']]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required. :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. @@ -414,6 +450,8 @@ def __init__(__self__, *, """ if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) if bypass_head_request is not None: pulumi.set(__self__, "bypass_head_request", bypass_head_request) if custom_headers is not None: @@ -422,6 +460,8 @@ def __init__(__self__, *, pulumi.set(__self__, "device_orientation", device_orientation) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if locations_privates is not None: @@ -469,6 +509,18 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + @property @pulumi.getter(name="bypassHeadRequest") def bypass_head_request(self) -> Optional[pulumi.Input[bool]]: @@ -499,7 +551,7 @@ def custom_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Mon @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> Optional[pulumi.Input[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -511,7 +563,7 @@ def device_orientation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deviceType") def device_type(self) -> Optional[pulumi.Input[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") @@ -519,6 +571,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -729,10 +793,12 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bypass_head_request: Optional[pulumi.Input[bool]] = None, custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -790,18 +856,22 @@ def __init__(__self__, uri="https://www.one.newrelic.com", type="BROWSER", locations_publics=["AP_SOUTH_1"], - custom_headers=[{ - "name": "some_name", - "value": "some_value", - }], enable_screenshot_on_failure_and_script=True, validation_string="success", verify_ssl=True, runtime_type="CHROME_BROWSER", runtime_type_version="100", script_language="JAVASCRIPT", - device_type="MOBILE", - device_orientation="LANDSCAPE", + devices=[ + "DESKTOP", + "TABLET_LANDSCAPE", + "MOBILE_PORTRAIT", + ], + browsers=["CHROME"], + custom_headers=[{ + "name": "some_name", + "value": "some_value", + }], tags=[{ "key": "some_key", "values": ["some_value"], @@ -864,16 +934,22 @@ def __init__(__self__, name="monitor", period="EVERY_MINUTE", locations_privates=[location.id], - custom_headers=[{ - "name": "some_name", - "value": "some_value", - }], enable_screenshot_on_failure_and_script=True, validation_string="success", verify_ssl=True, runtime_type_version="100", runtime_type="CHROME_BROWSER", script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "TABLET_LANDSCAPE", + "MOBILE_PORTRAIT", + ], + browsers=["CHROME"], + custom_headers=[{ + "name": "some_name", + "value": "some_value", + }], tags=[{ "key": "some_key", "values": ["some_value"], @@ -893,12 +969,14 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check. The `BROWSER` monitor type supports the following additional arguments: :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required. :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. @@ -963,18 +1041,22 @@ def __init__(__self__, uri="https://www.one.newrelic.com", type="BROWSER", locations_publics=["AP_SOUTH_1"], - custom_headers=[{ - "name": "some_name", - "value": "some_value", - }], enable_screenshot_on_failure_and_script=True, validation_string="success", verify_ssl=True, runtime_type="CHROME_BROWSER", runtime_type_version="100", script_language="JAVASCRIPT", - device_type="MOBILE", - device_orientation="LANDSCAPE", + devices=[ + "DESKTOP", + "TABLET_LANDSCAPE", + "MOBILE_PORTRAIT", + ], + browsers=["CHROME"], + custom_headers=[{ + "name": "some_name", + "value": "some_value", + }], tags=[{ "key": "some_key", "values": ["some_value"], @@ -1037,16 +1119,22 @@ def __init__(__self__, name="monitor", period="EVERY_MINUTE", locations_privates=[location.id], - custom_headers=[{ - "name": "some_name", - "value": "some_value", - }], enable_screenshot_on_failure_and_script=True, validation_string="success", verify_ssl=True, runtime_type_version="100", runtime_type="CHROME_BROWSER", script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "TABLET_LANDSCAPE", + "MOBILE_PORTRAIT", + ], + browsers=["CHROME"], + custom_headers=[{ + "name": "some_name", + "value": "some_value", + }], tags=[{ "key": "some_key", "values": ["some_value"], @@ -1079,10 +1167,12 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bypass_head_request: Optional[pulumi.Input[bool]] = None, custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1109,10 +1199,12 @@ def _internal_init(__self__, __props__ = MonitorArgs.__new__(MonitorArgs) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers __props__.__dict__["bypass_head_request"] = bypass_head_request __props__.__dict__["custom_headers"] = custom_headers __props__.__dict__["device_orientation"] = device_orientation __props__.__dict__["device_type"] = device_type + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["locations_privates"] = locations_privates __props__.__dict__["locations_publics"] = locations_publics @@ -1145,10 +1237,12 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bypass_head_request: Optional[pulumi.Input[bool]] = None, custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, locations_privates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1174,12 +1268,14 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. :param pulumi.Input[bool] bypass_head_request: Monitor should skip default HEAD request and instead use GET verb in check. The `BROWSER` monitor type supports the following additional arguments: :param pulumi.Input[Sequence[pulumi.Input[Union['MonitorCustomHeaderArgs', 'MonitorCustomHeaderArgsDict']]]] custom_headers: Custom headers to use in monitor job. See Nested custom_header blocks below for details. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input[str]]] locations_privates: The location the monitor will run from. Accepts a list of private location GUIDs. At least one of either `locations_public` or `locations_private` is required. :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. @@ -1204,10 +1300,12 @@ def get(resource_name: str, __props__ = _MonitorState.__new__(_MonitorState) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers __props__.__dict__["bypass_head_request"] = bypass_head_request __props__.__dict__["custom_headers"] = custom_headers __props__.__dict__["device_orientation"] = device_orientation __props__.__dict__["device_type"] = device_type + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["locations_privates"] = locations_privates __props__.__dict__["locations_publics"] = locations_publics @@ -1235,6 +1333,14 @@ def account_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "account_id") + @property + @pulumi.getter + def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + @property @pulumi.getter(name="bypassHeadRequest") def bypass_head_request(self) -> pulumi.Output[Optional[bool]]: @@ -1257,7 +1363,7 @@ def custom_headers(self) -> pulumi.Output[Optional[Sequence['outputs.MonitorCust @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> pulumi.Output[Optional[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -1265,10 +1371,18 @@ def device_orientation(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="deviceType") def device_type(self) -> pulumi.Output[Optional[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") + @property + @pulumi.getter + def devices(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_newrelic/synthetics/script_monitor.py b/sdk/python/pulumi_newrelic/synthetics/script_monitor.py index f80274be..8af1d101 100644 --- a/sdk/python/pulumi_newrelic/synthetics/script_monitor.py +++ b/sdk/python/pulumi_newrelic/synthetics/script_monitor.py @@ -20,8 +20,10 @@ def __init__(__self__, *, status: pulumi.Input[str], type: pulumi.Input[str], account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -38,8 +40,10 @@ def __init__(__self__, *, :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :param pulumi.Input[str] type: The plaintext representing the monitor script. Valid values are SCRIPT_BROWSER or SCRIPT_API :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**. :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. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**. @@ -57,10 +61,14 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) if device_orientation is not None: pulumi.set(__self__, "device_orientation", device_orientation) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if location_privates is not None: @@ -130,11 +138,23 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + @property @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> Optional[pulumi.Input[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -146,7 +166,7 @@ def device_orientation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deviceType") def device_type(self) -> Optional[pulumi.Input[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") @@ -154,6 +174,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -278,8 +310,10 @@ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]): class _ScriptMonitorState: def __init__(__self__, *, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, guid: Optional[pulumi.Input[str]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]]] = None, @@ -298,8 +332,10 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ScriptMonitor resources. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic. :param pulumi.Input[Sequence[pulumi.Input['ScriptMonitorLocationPrivateArgs']]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**. @@ -319,10 +355,14 @@ def __init__(__self__, *, """ if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) if device_orientation is not None: pulumi.set(__self__, "device_orientation", device_orientation) if device_type is not None: pulumi.set(__self__, "device_type", device_type) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if guid is not None: @@ -366,11 +406,23 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + @property @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> Optional[pulumi.Input[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -382,7 +434,7 @@ def device_orientation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deviceType") def device_type(self) -> Optional[pulumi.Input[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") @@ -390,6 +442,18 @@ def device_type(self) -> Optional[pulumi.Input[str]]: def device_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "device_type", value) + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -576,8 +640,10 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -634,11 +700,17 @@ def __init__(__self__, "AP_EAST_1", ], period="EVERY_HOUR", - enable_screenshot_on_failure_and_script=False, script="$browser.get('https://one.newrelic.com')", runtime_type_version="100", runtime_type="CHROME_BROWSER", script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], + enable_screenshot_on_failure_and_script=False, tags=[{ "key": "some_key", "values": ["some_value"], @@ -698,16 +770,20 @@ def __init__(__self__, type="SCRIPT_BROWSER", period="EVERY_HOUR", script="$browser.get('https://one.newrelic.com')", + runtime_type_version="100", + runtime_type="CHROME_BROWSER", + script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], enable_screenshot_on_failure_and_script=False, location_privates=[{ "guid": location.id, "vse_password": "secret", }], - runtime_type_version="100", - runtime_type="CHROME_BROWSER", - script_language="JAVASCRIPT", - device_type="MOBILE", - device_orientation="LANDSCAPE", tags=[{ "key": "some_key", "values": ["some_value"], @@ -727,8 +803,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**. :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. The `AWS_` prefix is not needed, as the provider uses NerdGraph. **At least one of either** `locations_public` **or** `location_private` **is required**. @@ -792,11 +870,17 @@ def __init__(__self__, "AP_EAST_1", ], period="EVERY_HOUR", - enable_screenshot_on_failure_and_script=False, script="$browser.get('https://one.newrelic.com')", runtime_type_version="100", runtime_type="CHROME_BROWSER", script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], + enable_screenshot_on_failure_and_script=False, tags=[{ "key": "some_key", "values": ["some_value"], @@ -856,16 +940,20 @@ def __init__(__self__, type="SCRIPT_BROWSER", period="EVERY_HOUR", script="$browser.get('https://one.newrelic.com')", + runtime_type_version="100", + runtime_type="CHROME_BROWSER", + script_language="JAVASCRIPT", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], enable_screenshot_on_failure_and_script=False, location_privates=[{ "guid": location.id, "vse_password": "secret", }], - runtime_type_version="100", - runtime_type="CHROME_BROWSER", - script_language="JAVASCRIPT", - device_type="MOBILE", - device_orientation="LANDSCAPE", tags=[{ "key": "some_key", "values": ["some_value"], @@ -898,8 +986,10 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -923,8 +1013,10 @@ def _internal_init(__self__, __props__ = ScriptMonitorArgs.__new__(ScriptMonitorArgs) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers __props__.__dict__["device_orientation"] = device_orientation __props__.__dict__["device_type"] = device_type + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["location_privates"] = location_privates __props__.__dict__["locations_publics"] = locations_publics @@ -957,8 +1049,10 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, device_orientation: Optional[pulumi.Input[str]] = None, device_type: Optional[pulumi.Input[str]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, guid: Optional[pulumi.Input[str]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]]] = None, @@ -982,8 +1076,10 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. - :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. - :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[str] device_orientation: Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :param pulumi.Input[str] device_type: Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. + :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`. :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic. :param pulumi.Input[Sequence[pulumi.Input[Union['ScriptMonitorLocationPrivateArgs', 'ScriptMonitorLocationPrivateArgsDict']]]] location_privates: The location the monitor will run from. See Nested location_private blocks below for details. **At least one of either** `locations_public` **or** `location_private` **is required**. @@ -1006,8 +1102,10 @@ def get(resource_name: str, __props__ = _ScriptMonitorState.__new__(_ScriptMonitorState) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers __props__.__dict__["device_orientation"] = device_orientation __props__.__dict__["device_type"] = device_type + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["guid"] = guid __props__.__dict__["location_privates"] = location_privates @@ -1033,11 +1131,19 @@ def account_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "account_id") + @property + @pulumi.getter + def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + @property @pulumi.getter(name="deviceOrientation") def device_orientation(self) -> pulumi.Output[Optional[str]]: """ - Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. + Device emulation orientation field. Valid values are `LANDSCAPE` and `PORTRAIT`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_orientation") @@ -1045,10 +1151,18 @@ def device_orientation(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="deviceType") def device_type(self) -> pulumi.Output[Optional[str]]: """ - Device emulation type field. Valid values are `MOBILE` and `TABLET`. + Device emulation type field. Valid values are `MOBILE` and `TABLET`. We recommend you to use `devices` field instead of `device_type`,`device_orientation` fields, as it allows you to select multiple combinations of device types and orientations. """ return pulumi.get(self, "device_type") + @property + @pulumi.getter + def devices(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are `DESKTOP`, `MOBILE_LANDSCAPE`, `MOBILE_PORTRAIT`, `TABLET_LANDSCAPE` and `TABLET_PORTRAIT`. + """ + return pulumi.get(self, "devices") + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_newrelic/synthetics/step_monitor.py b/sdk/python/pulumi_newrelic/synthetics/step_monitor.py index fbc724c2..c76d7e64 100644 --- a/sdk/python/pulumi_newrelic/synthetics/step_monitor.py +++ b/sdk/python/pulumi_newrelic/synthetics/step_monitor.py @@ -20,6 +20,8 @@ def __init__(__self__, *, status: pulumi.Input[str], steps: pulumi.Input[Sequence[pulumi.Input['StepMonitorStepArgs']]], account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -34,12 +36,15 @@ def __init__(__self__, *, :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :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. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :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. :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. :param pulumi.Input[str] name: The name for the monitor. :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. - :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type. + :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. :param pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details. """ pulumi.set(__self__, "period", period) @@ -47,6 +52,10 @@ def __init__(__self__, *, pulumi.set(__self__, "steps", steps) if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if location_privates is not None: @@ -112,6 +121,31 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -176,7 +210,7 @@ def runtime_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="runtimeTypeVersion") def runtime_type_version(self) -> Optional[pulumi.Input[str]]: """ - The specific semver version of the runtime type. + The specific version of the runtime type selected. """ return pulumi.get(self, "runtime_type_version") @@ -210,6 +244,8 @@ def use_unsupported_legacy_runtime(self, value: Optional[pulumi.Input[bool]]): class _StepMonitorState: def __init__(__self__, *, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, guid: Optional[pulumi.Input[str]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input['StepMonitorLocationPrivateArgs']]]] = None, @@ -226,6 +262,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering StepMonitor resources. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic. :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. @@ -234,13 +273,17 @@ def __init__(__self__, *, :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`. :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run. :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. - :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type. + :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :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. :param pulumi.Input[Sequence[pulumi.Input['StepMonitorTagArgs']]] tags: The tags that will be associated with the monitor. See Nested tag blocks below for details. """ if account_id is not None: pulumi.set(__self__, "account_id", account_id) + if browsers is not None: + pulumi.set(__self__, "browsers", browsers) + if devices is not None: + pulumi.set(__self__, "devices", devices) if enable_screenshot_on_failure_and_script is not None: pulumi.set(__self__, "enable_screenshot_on_failure_and_script", enable_screenshot_on_failure_and_script) if guid is not None: @@ -280,6 +323,31 @@ def account_id(self) -> Optional[pulumi.Input[str]]: def account_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_id", value) + @property + @pulumi.getter + def browsers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @browsers.setter + def browsers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "browsers", value) + + @property + @pulumi.getter + def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + """ + return pulumi.get(self, "devices") + + @devices.setter + def devices(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "devices", value) + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> Optional[pulumi.Input[bool]]: @@ -380,7 +448,7 @@ def runtime_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="runtimeTypeVersion") def runtime_type_version(self) -> Optional[pulumi.Input[str]]: """ - The specific semver version of the runtime type. + The specific version of the runtime type selected. """ return pulumi.get(self, "runtime_type_version") @@ -440,6 +508,8 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -470,6 +540,12 @@ def __init__(__self__, status="ENABLED", runtime_type="CHROME_BROWSER", runtime_type_version="100", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], steps=[{ "ordinal": 0, "type": "NAVIGATE", @@ -502,6 +578,14 @@ def __init__(__self__, name="Sample Step Monitor", period="EVERY_6_HOURS", status="ENABLED", + runtime_type="CHROME_BROWSER", + runtime_type_version="100", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], location_privates=[{ "guid": foo.id, "vse_password": "secret", @@ -530,13 +614,16 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :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. :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. :param pulumi.Input[str] name: The name for the monitor. :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`. :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. - :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type. + :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :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. :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. @@ -565,6 +652,12 @@ def __init__(__self__, status="ENABLED", runtime_type="CHROME_BROWSER", runtime_type_version="100", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], steps=[{ "ordinal": 0, "type": "NAVIGATE", @@ -597,6 +690,14 @@ def __init__(__self__, name="Sample Step Monitor", period="EVERY_6_HOURS", status="ENABLED", + runtime_type="CHROME_BROWSER", + runtime_type_version="100", + devices=[ + "DESKTOP", + "MOBILE_PORTRAIT", + "TABLET_LANDSCAPE", + ], + browsers=["CHROME"], location_privates=[{ "guid": foo.id, "vse_password": "secret", @@ -638,6 +739,8 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None, locations_publics: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -659,6 +762,8 @@ def _internal_init(__self__, __props__ = StepMonitorArgs.__new__(StepMonitorArgs) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["location_privates"] = location_privates __props__.__dict__["locations_publics"] = locations_publics @@ -689,6 +794,8 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_id: Optional[pulumi.Input[str]] = None, + browsers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + devices: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, enable_screenshot_on_failure_and_script: Optional[pulumi.Input[bool]] = None, guid: Optional[pulumi.Input[str]] = None, location_privates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StepMonitorLocationPrivateArgs', 'StepMonitorLocationPrivateArgsDict']]]]] = None, @@ -710,6 +817,9 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_id: The account in which the Synthetics monitor will be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] browsers: The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] devices: The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT :param pulumi.Input[bool] enable_screenshot_on_failure_and_script: Capture a screenshot during job execution. :param pulumi.Input[str] guid: The unique entity identifier of the monitor in New Relic. :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. @@ -718,7 +828,7 @@ def get(resource_name: str, :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`. :param pulumi.Input[int] period_in_minutes: The interval in minutes at which Synthetic monitor should run. :param pulumi.Input[str] runtime_type: The runtime that the monitor will use to run jobs. - :param pulumi.Input[str] runtime_type_version: The specific semver version of the runtime type. + :param pulumi.Input[str] runtime_type_version: The specific version of the runtime type selected. :param pulumi.Input[str] status: The monitor status (ENABLED or DISABLED). :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. :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. @@ -728,6 +838,8 @@ def get(resource_name: str, __props__ = _StepMonitorState.__new__(_StepMonitorState) __props__.__dict__["account_id"] = account_id + __props__.__dict__["browsers"] = browsers + __props__.__dict__["devices"] = devices __props__.__dict__["enable_screenshot_on_failure_and_script"] = enable_screenshot_on_failure_and_script __props__.__dict__["guid"] = guid __props__.__dict__["location_privates"] = location_privates @@ -751,6 +863,23 @@ def account_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "account_id") + @property + @pulumi.getter + def browsers(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple browsers list on which synthetic monitors will run. Valid values are `CHROME` and `FIREFOX`. + """ + return pulumi.get(self, "browsers") + + @property + @pulumi.getter + def devices(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The multiple devices list on which synthetic monitors will run. Valid values are array of DESKTOP, MOBILE_LANDSCAPE, + MOBILE_PORTRAIT, TABLET_LANDSCAPE and TABLET_PORTRAIT + """ + return pulumi.get(self, "devices") + @property @pulumi.getter(name="enableScreenshotOnFailureAndScript") def enable_screenshot_on_failure_and_script(self) -> pulumi.Output[Optional[bool]]: @@ -819,7 +948,7 @@ def runtime_type(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="runtimeTypeVersion") def runtime_type_version(self) -> pulumi.Output[Optional[str]]: """ - The specific semver version of the runtime type. + The specific version of the runtime type selected. """ return pulumi.get(self, "runtime_type_version") diff --git a/upstream b/upstream index 8bd60837..058207e7 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 8bd60837981ae5f155982fdde3e574492ab7e26f +Subproject commit 058207e773951f90e2cd3f6c52bf4b6a42ddbee8