{"name":"checkly","displayName":"Checkly","version":"2.10.0","description":"A Pulumi package for creating and managing Checkly monitoring resources.","keywords":["pulumi","checkly","category/monitoring"],"homepage":"https://www.pulumi.com/registry/packages/checkly","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`checkly` Terraform Provider](https://github.com/checkly/terraform-provider-checkly).","repository":"https://github.com/checkly/pulumi-checkly","logoUrl":"https://raw.githubusercontent.com/checkly/pulumi-checkly/main/assets/checkly.png","pluginDownloadURL":"github://api.github.com/checkly","publisher":"Checkly","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageName":"@checkly/pulumi","packageDescription":"A Pulumi package for creating and managing Checkly monitoring resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/checkly/terraform-provider-checkly)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-checkly` repo](https://github.com/checkly/pulumi-checkly/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-checkly` repo](https://github.com/checkly/terraform-provider-checkly/issues).","dependencies":{"@pulumi/pulumi":"^3.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"requires":{"pulumi":"\u003e=3.0.0,\u003c4.0.0"},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/checkly/terraform-provider-checkly)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-checkly` repo](https://github.com/checkly/pulumi-checkly/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-checkly` repo](https://github.com/checkly/terraform-provider-checkly/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"accountId":{"type":"string"},"apiKey":{"type":"string"},"apiUrl":{"type":"string"}},"defaults":["apiKey"]},"types":{"checkly:index/AlertChannelCall:AlertChannelCall":{"properties":{"name":{"type":"string","description":"The name of this alert channel\n"},"number":{"type":"string","description":"The mobile number to receive the alerts\n"}},"type":"object","required":["name","number"]},"checkly:index/AlertChannelEmail:AlertChannelEmail":{"properties":{"address":{"type":"string","description":"The email address of this email alert channel.\n"}},"type":"object","required":["address"]},"checkly:index/AlertChannelOpsgenie:AlertChannelOpsgenie":{"properties":{"apiKey":{"type":"string"},"name":{"type":"string"},"priority":{"type":"string"},"region":{"type":"string"}},"type":"object","required":["apiKey","name","priority","region"]},"checkly:index/AlertChannelPagerduty:AlertChannelPagerduty":{"properties":{"account":{"type":"string"},"serviceKey":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["serviceKey"]},"checkly:index/AlertChannelSlack:AlertChannelSlack":{"properties":{"channel":{"type":"string","description":"The name of the alert's Slack channel\n"},"url":{"type":"string","description":"The Slack webhook URL\n"}},"type":"object","required":["channel","url"]},"checkly:index/AlertChannelSms:AlertChannelSms":{"properties":{"name":{"type":"string","description":"The name of this alert channel\n"},"number":{"type":"string","description":"The mobile number to receive the alerts\n"}},"type":"object","required":["name","number"]},"checkly:index/AlertChannelWebhook:AlertChannelWebhook":{"properties":{"headers":{"type":"object","additionalProperties":{"type":"string"}},"method":{"type":"string","description":"(Default `POST`)\n"},"name":{"type":"string"},"queryParameters":{"type":"object","additionalProperties":{"type":"string"}},"template":{"type":"string"},"url":{"type":"string"},"webhookSecret":{"type":"string"},"webhookType":{"type":"string","description":"Type of the webhook. Possible values are 'WEBHOOK*DISCORD', 'WEBHOOK*FIREHYDRANT', 'WEBHOOK*GITLAB*ALERT', 'WEBHOOK*SPIKESH', 'WEBHOOK*SPLUNK', 'WEBHOOK*MSTEAMS' and 'WEBHOOK*TELEGRAM'.\n"}},"type":"object","required":["name","url"],"language":{"nodejs":{"requiredOutputs":["headers","name","queryParameters","url"]}}},"checkly:index/CheckAlertChannelSubscription:CheckAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/CheckAlertSettings:CheckAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertSettingsParallelRunFailureThreshold:CheckAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertSettingsReminder:CheckAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertSettingsRunBasedEscalation:CheckAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertSettingsSslCertificate:CheckAlertSettingsSslCertificate"},"deprecationMessage":"This legacy attribute is no longer available and even if set, does not affect behavior. It will be removed in the next major version."},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertSettingsTimeBasedEscalation:CheckAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/CheckAlertSettingsParallelRunFailureThreshold:CheckAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the check is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/CheckAlertSettingsReminder:CheckAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckAlertSettingsRunBasedEscalation:CheckAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive check runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/CheckAlertSettingsSslCertificate:CheckAlertSettingsSslCertificate":{"properties":{"alertThreshold":{"type":"integer","description":"No longer available.\n"},"enabled":{"type":"boolean","description":"No longer available.\n"}},"type":"object"},"checkly:index/CheckAlertSettingsTimeBasedEscalation:CheckAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the check has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckEnvironmentVariable:CheckEnvironmentVariable":{"properties":{"key":{"type":"string","description":"The name of the environment variable or secret.\n"},"locked":{"type":"boolean","description":"If true, the value is not shown by default, but it can be accessed. (Default `false`).\n"},"secret":{"type":"boolean","description":"If true, the value will never be visible. (Default `false`).\n"},"value":{"type":"string","description":"The value of the environment variable or secret.\n"}},"type":"object","required":["key","value"]},"checkly:index/CheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/CheckGroupAlertSettings:CheckGroupAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertSettingsParallelRunFailureThreshold:CheckGroupAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertSettingsReminder:CheckGroupAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertSettingsRunBasedEscalation:CheckGroupAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertSettingsSslCertificate:CheckGroupAlertSettingsSslCertificate"},"deprecationMessage":"This legacy attribute is no longer available and even if set, does not affect behavior. It will be removed in the next major version."},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertSettingsTimeBasedEscalation:CheckGroupAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/CheckGroupAlertSettingsParallelRunFailureThreshold:CheckGroupAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the check is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/CheckGroupAlertSettingsReminder:CheckGroupAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckGroupAlertSettingsRunBasedEscalation:CheckGroupAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive check runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/CheckGroupAlertSettingsSslCertificate:CheckGroupAlertSettingsSslCertificate":{"properties":{"alertThreshold":{"type":"integer","description":"No longer available.\n"},"enabled":{"type":"boolean","description":"No longer available.\n"}},"type":"object"},"checkly:index/CheckGroupAlertSettingsTimeBasedEscalation:CheckGroupAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the check has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckGroupApiCheckDefaults:CheckGroupApiCheckDefaults":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupApiCheckDefaultsAssertion:CheckGroupApiCheckDefaultsAssertion"}},"basicAuth":{"$ref":"#/types/checkly:index/CheckGroupApiCheckDefaultsBasicAuth:CheckGroupApiCheckDefaultsBasicAuth"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"queryParameters":{"type":"object","additionalProperties":{"type":"string"}},"url":{"type":"string","description":"The base url for this group which you can reference with the `GROUP_BASE_URL` variable in all group checks.\n","default":""}},"type":"object","language":{"nodejs":{"requiredOutputs":["basicAuth","headers","queryParameters","url"]}}},"checkly:index/CheckGroupApiCheckDefaultsAssertion:CheckGroupApiCheckDefaultsAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values `STATUS_CODE`, `JSON_BODY`, `HEADERS`, `TEXT_BODY`, and `RESPONSE_TIME`.\n"},"target":{"type":"string"}},"type":"object","required":["comparison","source","target"]},"checkly:index/CheckGroupApiCheckDefaultsBasicAuth:CheckGroupApiCheckDefaultsBasicAuth":{"properties":{"password":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["password","username"]},"checkly:index/CheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable":{"properties":{"key":{"type":"string","description":"The name of the environment variable or secret.\n"},"locked":{"type":"boolean","description":"If true, the value is not shown by default, but it can be accessed. (Default `false`).\n"},"secret":{"type":"boolean","description":"If true, the value will never be visible. (Default `false`).\n"},"value":{"type":"string","description":"The value of the environment variable or secret.\n"}},"type":"object","required":["key","value"]},"checkly:index/CheckGroupRetryStrategy:CheckGroupRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/CheckGroupRetryStrategyOnlyOn:CheckGroupRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/CheckGroupRetryStrategyOnlyOn:CheckGroupRetryStrategyOnlyOn":{"properties":{"networkError":{"type":"boolean","description":"When `true`, retry only if the cause of the failure is a network error. (Default `false`).\n"}},"type":"object"},"checkly:index/CheckGroupV2ApiCheckDefaults:CheckGroupV2ApiCheckDefaults":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2ApiCheckDefaultsAssertion:CheckGroupV2ApiCheckDefaultsAssertion"}},"basicAuth":{"$ref":"#/types/checkly:index/CheckGroupV2ApiCheckDefaultsBasicAuth:CheckGroupV2ApiCheckDefaultsBasicAuth"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"queryParameters":{"type":"object","additionalProperties":{"type":"string"}},"url":{"type":"string","description":"The base url for this group which you can reference with the `GROUP_BASE_URL` variable in all group checks.\n","default":""}},"type":"object","language":{"nodejs":{"requiredOutputs":["basicAuth","headers","queryParameters","url"]}}},"checkly:index/CheckGroupV2ApiCheckDefaultsAssertion:CheckGroupV2ApiCheckDefaultsAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values `STATUS_CODE`, `JSON_BODY`, `HEADERS`, `TEXT_BODY`, and `RESPONSE_TIME`.\n"},"target":{"type":"string"}},"type":"object","required":["comparison","source","target"]},"checkly:index/CheckGroupV2ApiCheckDefaultsBasicAuth:CheckGroupV2ApiCheckDefaultsBasicAuth":{"properties":{"password":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["password","username"]},"checkly:index/CheckGroupV2DefaultRuntime:CheckGroupV2DefaultRuntime":{"properties":{"runtimeId":{"type":"string","description":"The runtime ID.\n"}},"type":"object","required":["runtimeId"]},"checkly:index/CheckGroupV2EnforceAlertSettings:CheckGroupV2EnforceAlertSettings":{"properties":{"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertChannelSubscription:CheckGroupV2EnforceAlertSettingsAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettings:CheckGroupV2EnforceAlertSettingsAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"enabled":{"type":"boolean","description":"Determines whether the enforced alert settings should be active.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"Whether to use account level alert settings instead of the group's alert settings.Default (`false`).\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredOutputs":["alertSettings","enabled"]}}},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertChannelSubscription:CheckGroupV2EnforceAlertSettingsAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettings:CheckGroupV2EnforceAlertSettingsAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThreshold:CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsReminder:CheckGroupV2EnforceAlertSettingsAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalation:CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsSslCertificate:CheckGroupV2EnforceAlertSettingsAlertSettingsSslCertificate"},"deprecationMessage":"This legacy attribute is no longer available and even if set, does not affect behavior. It will be removed in the next major version."},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalation:CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThreshold:CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the check is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsReminder:CheckGroupV2EnforceAlertSettingsAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalation:CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive check runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsSslCertificate:CheckGroupV2EnforceAlertSettingsAlertSettingsSslCertificate":{"properties":{"alertThreshold":{"type":"integer","description":"No longer available.\n"},"enabled":{"type":"boolean","description":"No longer available.\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalation:CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the check has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceLocations:CheckGroupV2EnforceLocations":{"properties":{"enabled":{"type":"boolean","description":"Determines whether the enforced locations should be active.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the checks.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"}},"type":"object","required":["enabled"]},"checkly:index/CheckGroupV2EnforceRetryStrategy:CheckGroupV2EnforceRetryStrategy":{"properties":{"enabled":{"type":"boolean","description":"Determines whether the enforced retry strategy should be active.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceRetryStrategyRetryStrategy:CheckGroupV2EnforceRetryStrategyRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"}},"type":"object","required":["enabled","retryStrategy"]},"checkly:index/CheckGroupV2EnforceRetryStrategyRetryStrategy:CheckGroupV2EnforceRetryStrategyRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOn:CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOn:CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOn":{"properties":{"networkError":{"type":"boolean","description":"When `true`, retry only if the cause of the failure is a network error. (Default `false`).\n"}},"type":"object"},"checkly:index/CheckGroupV2EnforceSchedulingStrategy:CheckGroupV2EnforceSchedulingStrategy":{"properties":{"enabled":{"type":"boolean","description":"Determines whether the enforced scheduling strategy should be active.\n"},"runParallel":{"type":"boolean","description":"Determines if the checks in the group should run in all selected locations in parallel or round-robin.\n"}},"type":"object","required":["enabled","runParallel"]},"checkly:index/CheckGroupV2EnvironmentVariable:CheckGroupV2EnvironmentVariable":{"properties":{"key":{"type":"string","description":"The name of the environment variable or secret.\n"},"locked":{"type":"boolean","description":"If true, the value is not shown by default, but it can be accessed. (Default `false`).\n"},"secret":{"type":"boolean","description":"If true, the value will never be visible. (Default `false`).\n"},"value":{"type":"string","description":"The value of the environment variable or secret.\n"}},"type":"object","required":["key","value"]},"checkly:index/CheckGroupV2SetupScript:CheckGroupV2SetupScript":{"properties":{"inlineScript":{"type":"string","description":"A valid piece of Node.js code.\n"},"snippetId":{"type":"integer","description":"The ID of a code snippet. Code snippets are not available for new plans.\n"}},"type":"object"},"checkly:index/CheckGroupV2TeardownScript:CheckGroupV2TeardownScript":{"properties":{"inlineScript":{"type":"string","description":"A valid piece of Node.js code.\n"},"snippetId":{"type":"integer","description":"The ID of a code snippet. Code snippets are not available for new plans.\n"}},"type":"object"},"checkly:index/CheckRequest:CheckRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckRequestAssertion:CheckRequestAssertion"},"description":"A request can have multiple assertions.\n"},"basicAuth":{"$ref":"#/types/checkly:index/CheckRequestBasicAuth:CheckRequestBasicAuth","description":"Set up HTTP basic authentication (username \u0026 password).\n"},"body":{"type":"string","description":"The body of the request.\n"},"bodyType":{"type":"string","description":"The `Content-Type` header of the request. Possible values `NONE`, `JSON`, `FORM`, `RAW`, and `GRAPHQL`.\n"},"followRedirects":{"type":"boolean"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"ipFamily":{"type":"string","description":"IP Family to be used when executing the api check. The value can be either IPv4 or IPv6.\n"},"method":{"type":"string","description":"The HTTP method to use for this API check. Possible values are `GET`, `POST`, `PUT`, `HEAD`, `DELETE`, `PATCH`. (Default `GET`).\n"},"queryParameters":{"type":"object","additionalProperties":{"type":"string"}},"skipSsl":{"type":"boolean"},"url":{"type":"string"}},"type":"object","required":["url"],"language":{"nodejs":{"requiredOutputs":["basicAuth","headers","queryParameters","url"]}}},"checkly:index/CheckRequestAssertion:CheckRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values `STATUS_CODE`, `JSON_BODY`, `HEADERS`, `TEXT_BODY`, and `RESPONSE_TIME`.\n"},"target":{"type":"string"}},"type":"object","required":["comparison","source"]},"checkly:index/CheckRequestBasicAuth:CheckRequestBasicAuth":{"properties":{"password":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["password","username"]},"checkly:index/CheckRetryStrategy:CheckRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/CheckRetryStrategyOnlyOn:CheckRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/CheckRetryStrategyOnlyOn:CheckRetryStrategyOnlyOn":{"properties":{"networkError":{"type":"boolean","description":"When `true`, retry only if the cause of the failure is a network error. (Default `false`).\n"}},"type":"object"},"checkly:index/CheckTriggerIncident:CheckTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/DnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/DnsMonitorAlertSettings:DnsMonitorAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettingsParallelRunFailureThreshold:DnsMonitorAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettingsReminder:DnsMonitorAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettingsRunBasedEscalation:DnsMonitorAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettingsTimeBasedEscalation:DnsMonitorAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/DnsMonitorAlertSettingsParallelRunFailureThreshold:DnsMonitorAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/DnsMonitorAlertSettingsReminder:DnsMonitorAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/DnsMonitorAlertSettingsRunBasedEscalation:DnsMonitorAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/DnsMonitorAlertSettingsTimeBasedEscalation:DnsMonitorAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/DnsMonitorRequest:DnsMonitorRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorRequestAssertion:DnsMonitorRequestAssertion"},"description":"Assertions to validate the HTTP response. DNS monitors only support status code assertions.\n"},"nameServer":{"$ref":"#/types/checkly:index/DnsMonitorRequestNameServer:DnsMonitorRequestNameServer","description":"The name server to use.\n"},"protocol":{"type":"string","description":"The protocol used to communicate with the name server. Possible values are `UDP` and `TCP`. (Default `UDP`).\n"},"query":{"type":"string","description":"The DNS record to query.\n"},"recordType":{"type":"string","description":"The DNS record type. Possible values are `A`, `AAAA`, `CNAME`, `MX`, `NS`, `TXT` and `SOA`.\n"}},"type":"object","required":["query","recordType"]},"checkly:index/DnsMonitorRequestAssertion:DnsMonitorRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values are `EQUALS`, `NOT_EQUALS`, `GREATER_THAN` and `LESS_THAN`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values are `RESPONSE_CODE`, `RESPONSE_TIME`, `TEXT_ANSWER` and `JSON_ANSWER`.\n"},"target":{"type":"string","description":"The target value. Typically `NOERROR` when the source is `RESPONSE_CODE`.\n"}},"type":"object","required":["comparison","source","target"]},"checkly:index/DnsMonitorRequestNameServer:DnsMonitorRequestNameServer":{"properties":{"host":{"type":"string","description":"The name server host.\n"},"port":{"type":"integer","description":"The name server port.\n"}},"type":"object"},"checkly:index/DnsMonitorRetryStrategy:DnsMonitorRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/DnsMonitorRetryStrategyOnlyOn:DnsMonitorRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/DnsMonitorRetryStrategyOnlyOn:DnsMonitorRetryStrategyOnlyOn":{"type":"object"},"checkly:index/DnsMonitorTriggerIncident:DnsMonitorTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/HeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/HeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettingsParallelRunFailureThreshold:HeartbeatCheckAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettingsReminder:HeartbeatCheckAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettingsRunBasedEscalation:HeartbeatCheckAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettingsSslCertificate:HeartbeatCheckAlertSettingsSslCertificate"},"deprecationMessage":"This legacy attribute is no longer available and even if set, does not affect behavior. It will be removed in the next major version."},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettingsTimeBasedEscalation:HeartbeatCheckAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/HeartbeatCheckAlertSettingsParallelRunFailureThreshold:HeartbeatCheckAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/HeartbeatCheckAlertSettingsReminder:HeartbeatCheckAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/HeartbeatCheckAlertSettingsRunBasedEscalation:HeartbeatCheckAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/HeartbeatCheckAlertSettingsSslCertificate:HeartbeatCheckAlertSettingsSslCertificate":{"properties":{"alertThreshold":{"type":"integer","description":"No longer available.\n"},"enabled":{"type":"boolean","description":"No longer available.\n"}},"type":"object"},"checkly:index/HeartbeatCheckAlertSettingsTimeBasedEscalation:HeartbeatCheckAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/HeartbeatCheckHeartbeat:HeartbeatCheckHeartbeat":{"properties":{"grace":{"type":"integer","description":"How long Checkly should wait before triggering any alerts when a ping does not arrive within the set period.\n"},"graceUnit":{"type":"string","description":"Possible values `seconds`, `minutes`, `hours` and `days`.\n"},"period":{"type":"integer","description":"How often you expect a ping to the ping URL.\n"},"periodUnit":{"type":"string","description":"Possible values `seconds`, `minutes`, `hours` and `days`.\n"},"pingToken":{"type":"string","description":"Custom token to generate your ping URL. Checkly will expect a ping to `https://ping.checklyhq.com/[PING_TOKEN]`.\n"}},"type":"object","required":["grace","graceUnit","period","periodUnit"],"language":{"nodejs":{"requiredOutputs":["grace","graceUnit","period","periodUnit","pingToken"]}}},"checkly:index/HeartbeatCheckTriggerIncident:HeartbeatCheckTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/HeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/HeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettingsParallelRunFailureThreshold:HeartbeatMonitorAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettingsReminder:HeartbeatMonitorAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettingsRunBasedEscalation:HeartbeatMonitorAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"sslCertificates":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettingsSslCertificate:HeartbeatMonitorAlertSettingsSslCertificate"},"deprecationMessage":"This legacy attribute is no longer available and even if set, does not affect behavior. It will be removed in the next major version."},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettingsTimeBasedEscalation:HeartbeatMonitorAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/HeartbeatMonitorAlertSettingsParallelRunFailureThreshold:HeartbeatMonitorAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/HeartbeatMonitorAlertSettingsReminder:HeartbeatMonitorAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/HeartbeatMonitorAlertSettingsRunBasedEscalation:HeartbeatMonitorAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/HeartbeatMonitorAlertSettingsSslCertificate:HeartbeatMonitorAlertSettingsSslCertificate":{"properties":{"alertThreshold":{"type":"integer","description":"No longer available.\n"},"enabled":{"type":"boolean","description":"No longer available.\n"}},"type":"object"},"checkly:index/HeartbeatMonitorAlertSettingsTimeBasedEscalation:HeartbeatMonitorAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/HeartbeatMonitorHeartbeat:HeartbeatMonitorHeartbeat":{"properties":{"grace":{"type":"integer","description":"How long Checkly should wait before triggering any alerts when a ping does not arrive within the set period.\n"},"graceUnit":{"type":"string","description":"Possible values `seconds`, `minutes`, `hours` and `days`.\n"},"period":{"type":"integer","description":"How often you expect a ping to the ping URL.\n"},"periodUnit":{"type":"string","description":"Possible values `seconds`, `minutes`, `hours` and `days`.\n"},"pingToken":{"type":"string","description":"Custom token to generate your ping URL. Checkly will expect a ping to `https://ping.checklyhq.com/[PING_TOKEN]`.\n"}},"type":"object","required":["grace","graceUnit","period","periodUnit"],"language":{"nodejs":{"requiredOutputs":["grace","graceUnit","period","periodUnit","pingToken"]}}},"checkly:index/HeartbeatMonitorTriggerIncident:HeartbeatMonitorTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/IcmpMonitorAlertChannelSubscription:IcmpMonitorAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/IcmpMonitorAlertSettings:IcmpMonitorAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettingsParallelRunFailureThreshold:IcmpMonitorAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettingsReminder:IcmpMonitorAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettingsRunBasedEscalation:IcmpMonitorAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettingsTimeBasedEscalation:IcmpMonitorAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/IcmpMonitorAlertSettingsParallelRunFailureThreshold:IcmpMonitorAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/IcmpMonitorAlertSettingsReminder:IcmpMonitorAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/IcmpMonitorAlertSettingsRunBasedEscalation:IcmpMonitorAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/IcmpMonitorAlertSettingsTimeBasedEscalation:IcmpMonitorAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/IcmpMonitorRequest:IcmpMonitorRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorRequestAssertion:IcmpMonitorRequestAssertion"},"description":"Assertions to validate the ICMP response.\n"},"hostname":{"type":"string","description":"The hostname to ping.\n"},"ipFamily":{"type":"string","description":"The IP family to use. Possible values are `IPv4` and `IPv6`. (Default `IPv4`).\n"},"pingCount":{"type":"integer","description":"The number of ping packets to send. (Default `10`).\n"}},"type":"object","required":["hostname"]},"checkly:index/IcmpMonitorRequestAssertion:IcmpMonitorRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values are `EQUALS`, `NOT_EQUALS`, `GREATER_THAN` and `LESS_THAN`.\n"},"property":{"type":"string","description":"The property of the source to assert. For `LATENCY` source, possible values are `avg`, `min`, `max` and `stdDev`.\n"},"source":{"type":"string","description":"The source of the asserted value. Possible values are `LATENCY` and `JSON_RESPONSE`.\n"},"target":{"type":"string","description":"The target value for the assertion.\n"}},"type":"object","required":["comparison","source","target"]},"checkly:index/IcmpMonitorRetryStrategy:IcmpMonitorRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/IcmpMonitorRetryStrategyOnlyOn:IcmpMonitorRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/IcmpMonitorRetryStrategyOnlyOn:IcmpMonitorRetryStrategyOnlyOn":{"type":"object"},"checkly:index/IcmpMonitorTriggerIncident:IcmpMonitorTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/PlaywrightCheckSuiteAlertChannelSubscription:PlaywrightCheckSuiteAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/PlaywrightCheckSuiteAlertSettings:PlaywrightCheckSuiteAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettingsParallelRunFailureThreshold:PlaywrightCheckSuiteAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettingsReminder:PlaywrightCheckSuiteAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettingsRunBasedEscalation:PlaywrightCheckSuiteAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettingsTimeBasedEscalation:PlaywrightCheckSuiteAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/PlaywrightCheckSuiteAlertSettingsParallelRunFailureThreshold:PlaywrightCheckSuiteAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the check is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteAlertSettingsReminder:PlaywrightCheckSuiteAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteAlertSettingsRunBasedEscalation:PlaywrightCheckSuiteAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive check runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteAlertSettingsTimeBasedEscalation:PlaywrightCheckSuiteAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the check has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteBundle:PlaywrightCheckSuiteBundle":{"properties":{"id":{"type":"string","description":"The ID of the code bundle.\n"},"metadata":{"type":"string","description":"The generated metadata of the code bundle.\n"}},"type":"object","required":["id","metadata"]},"checkly:index/PlaywrightCheckSuiteEnvironmentVariable:PlaywrightCheckSuiteEnvironmentVariable":{"properties":{"key":{"type":"string","description":"The name of the environment variable or secret.\n"},"locked":{"type":"boolean","description":"If true, the value is not shown by default, but it can be accessed. (Default `false`).\n"},"secret":{"type":"boolean","description":"If true, the value will never be visible. (Default `false`).\n"},"value":{"type":"string","description":"The value of the environment variable or secret.\n"}},"type":"object","required":["key","value"]},"checkly:index/PlaywrightCheckSuiteRuntime:PlaywrightCheckSuiteRuntime":{"properties":{"playwright":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntimePlaywright:PlaywrightCheckSuiteRuntimePlaywright","description":"Configure the Playwright capabilities that should be made available to the runtime environment.\n"},"steps":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntimeSteps:PlaywrightCheckSuiteRuntimeSteps","description":"Customize the actions taken during test execution.\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteRuntimePlaywright:PlaywrightCheckSuiteRuntimePlaywright":{"properties":{"devices":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntimePlaywrightDevice:PlaywrightCheckSuiteRuntimePlaywrightDevice"},"description":"The list of devices that should be made available for Playwright.\n"},"version":{"type":"string","description":"The Playwright version to use.\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteRuntimePlaywrightDevice:PlaywrightCheckSuiteRuntimePlaywrightDevice":{"properties":{"type":{"type":"string","description":"The type of the device.\n"}},"type":"object","required":["type"]},"checkly:index/PlaywrightCheckSuiteRuntimeSteps:PlaywrightCheckSuiteRuntimeSteps":{"properties":{"install":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntimeStepsInstall:PlaywrightCheckSuiteRuntimeStepsInstall","description":"Customize the install step, which is used to initialize the environment prior to starting the test run.\n"},"test":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntimeStepsTest:PlaywrightCheckSuiteRuntimeStepsTest","description":"Customize the test step.\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteRuntimeStepsInstall:PlaywrightCheckSuiteRuntimeStepsInstall":{"properties":{"command":{"type":"string","description":"The command used to install dependencies prior to running Playwright. The default value is the appropriate install command for your package manager (e.g. `npm install` for `npm`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteRuntimeStepsTest:PlaywrightCheckSuiteRuntimeStepsTest":{"properties":{"command":{"type":"string","description":"The command used to run Playwright. The default value is the appropriate exec command for your package manager (e.g. `npx playwright test` for `npm`).\n"}},"type":"object"},"checkly:index/PlaywrightCheckSuiteTriggerIncident:PlaywrightCheckSuiteTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/PlaywrightCodeBundlePrebuiltArchive:PlaywrightCodeBundlePrebuiltArchive":{"properties":{"file":{"type":"string","description":"Path to the archive file.\n","willReplaceOnChanges":true}},"type":"object","required":["file"]},"checkly:index/StatusPageCard:StatusPageCard":{"properties":{"name":{"type":"string","description":"The name of the card.\n"},"serviceAttachments":{"type":"array","items":{"$ref":"#/types/checkly:index/StatusPageCardServiceAttachment:StatusPageCardServiceAttachment"},"description":"A list of services to attach to the card.\n"}},"type":"object","required":["name","serviceAttachments"]},"checkly:index/StatusPageCardServiceAttachment:StatusPageCardServiceAttachment":{"properties":{"serviceId":{"type":"string","description":"The ID of the service.\n"}},"type":"object","required":["serviceId"]},"checkly:index/TcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/TcpCheckAlertSettings:TcpCheckAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertSettingsParallelRunFailureThreshold:TcpCheckAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertSettingsReminder:TcpCheckAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertSettingsRunBasedEscalation:TcpCheckAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertSettingsTimeBasedEscalation:TcpCheckAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/TcpCheckAlertSettingsParallelRunFailureThreshold:TcpCheckAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/TcpCheckAlertSettingsReminder:TcpCheckAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/TcpCheckAlertSettingsRunBasedEscalation:TcpCheckAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/TcpCheckAlertSettingsTimeBasedEscalation:TcpCheckAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/TcpCheckRequest:TcpCheckRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckRequestAssertion:TcpCheckRequestAssertion"},"description":"A request can have multiple assertions.\n"},"data":{"type":"string","description":"The data to send to the target host.\n"},"hostname":{"type":"string","description":"The hostname or IP to connect to. Do not include a scheme or a port in this value.\n"},"ipFamily":{"type":"string","description":"The IP family to use when executing the TCP check. The value can be either `IPv4` or `IPv6`.\n"},"port":{"type":"integer","description":"The port number to connect to.\n"}},"type":"object","required":["hostname","port"]},"checkly:index/TcpCheckRequestAssertion:TcpCheckRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values are `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values are `RESPONSE_DATA` and `RESPONSE_TIME`.\n"},"target":{"type":"string"}},"type":"object","required":["comparison","source"]},"checkly:index/TcpCheckRetryStrategy:TcpCheckRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/TcpCheckRetryStrategyOnlyOn:TcpCheckRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/TcpCheckRetryStrategyOnlyOn:TcpCheckRetryStrategyOnlyOn":{"type":"object"},"checkly:index/TcpCheckTriggerIncident:TcpCheckTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/TcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/TcpMonitorAlertSettings:TcpMonitorAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettingsParallelRunFailureThreshold:TcpMonitorAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettingsReminder:TcpMonitorAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettingsRunBasedEscalation:TcpMonitorAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettingsTimeBasedEscalation:TcpMonitorAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/TcpMonitorAlertSettingsParallelRunFailureThreshold:TcpMonitorAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/TcpMonitorAlertSettingsReminder:TcpMonitorAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/TcpMonitorAlertSettingsRunBasedEscalation:TcpMonitorAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/TcpMonitorAlertSettingsTimeBasedEscalation:TcpMonitorAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/TcpMonitorRequest:TcpMonitorRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorRequestAssertion:TcpMonitorRequestAssertion"},"description":"A request can have multiple assertions.\n"},"data":{"type":"string","description":"The data to send to the target host.\n"},"hostname":{"type":"string","description":"The hostname or IP to connect to. Do not include a scheme or a port in this value.\n"},"ipFamily":{"type":"string","description":"The IP family to use when executing the TCP check. The value can be either `IPv4` or `IPv6`.\n"},"port":{"type":"integer","description":"The port number to connect to.\n"}},"type":"object","required":["hostname","port"]},"checkly:index/TcpMonitorRequestAssertion:TcpMonitorRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values are `EQUALS`, `NOT_EQUALS`, `HAS_KEY`, `NOT_HAS_KEY`, `HAS_VALUE`, `NOT_HAS_VALUE`, `IS_EMPTY`, `NOT_EMPTY`, `GREATER_THAN`, `LESS_THAN`, `CONTAINS`, `NOT_CONTAINS`, `IS_NULL`, and `NOT_NULL`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. Possible values are `RESPONSE_DATA` and `RESPONSE_TIME`.\n"},"target":{"type":"string"}},"type":"object","required":["comparison","source"]},"checkly:index/TcpMonitorRetryStrategy:TcpMonitorRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/TcpMonitorRetryStrategyOnlyOn:TcpMonitorRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/TcpMonitorRetryStrategyOnlyOn:TcpMonitorRetryStrategyOnlyOn":{"type":"object"},"checkly:index/TcpMonitorTriggerIncident:TcpMonitorTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]},"checkly:index/UrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription":{"properties":{"activated":{"type":"boolean","description":"Whether an alert should be sent to this channel.\n"},"channelId":{"type":"integer","description":"The ID of the alert channel.\n"}},"type":"object","required":["activated","channelId"]},"checkly:index/UrlMonitorAlertSettings:UrlMonitorAlertSettings":{"properties":{"escalationType":{"type":"string","description":"Determines the type of escalation to use. Possible values are `RUN_BASED` and `TIME_BASED`. (Default `RUN_BASED`).\n"},"parallelRunFailureThresholds":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettingsParallelRunFailureThreshold:UrlMonitorAlertSettingsParallelRunFailureThreshold"},"description":"Configuration for parallel run failure threshold.\n"},"reminders":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettingsReminder:UrlMonitorAlertSettingsReminder"},"description":"Defines how often to send reminder notifications after initial alert.\n"},"runBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettingsRunBasedEscalation:UrlMonitorAlertSettingsRunBasedEscalation"},"description":"Configuration for run-based escalation.\n"},"timeBasedEscalations":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettingsTimeBasedEscalation:UrlMonitorAlertSettingsTimeBasedEscalation"},"description":"Configuration for time-based escalation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["parallelRunFailureThresholds","reminders","runBasedEscalations","timeBasedEscalations"]}}},"checkly:index/UrlMonitorAlertSettingsParallelRunFailureThreshold:UrlMonitorAlertSettingsParallelRunFailureThreshold":{"properties":{"enabled":{"type":"boolean","description":"Whether parallel run failure threshold is enabled. Only applies if the monitor is scheduled for multiple locations in parallel. (Default `false`).\n"},"percentage":{"type":"integer","description":"Percentage of runs that must fail to trigger alert. Possible values are `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90`, and `100`. (Default `10`).\n"}},"type":"object"},"checkly:index/UrlMonitorAlertSettingsReminder:UrlMonitorAlertSettingsReminder":{"properties":{"amount":{"type":"integer","description":"Number of reminder notifications to send. Possible values are `0`, `1`, `2`, `3`, `4`, `5`, and `100000` (`0` to disable, `100000` for unlimited). (Default `0`).\n"},"interval":{"type":"integer","description":"Interval between reminder notifications in minutes. Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/UrlMonitorAlertSettingsRunBasedEscalation:UrlMonitorAlertSettingsRunBasedEscalation":{"properties":{"failedRunThreshold":{"type":"integer","description":"Send an alert notification after the given number of consecutive monitor runs have failed. Possible values are between `1` and `5`. (Default `1`).\n"}},"type":"object"},"checkly:index/UrlMonitorAlertSettingsTimeBasedEscalation:UrlMonitorAlertSettingsTimeBasedEscalation":{"properties":{"minutesFailingThreshold":{"type":"integer","description":"Send an alert notification after the monitor has been failing for the given amount of time (in minutes). Possible values are `5`, `10`, `15`, and `30`. (Default `5`).\n"}},"type":"object"},"checkly:index/UrlMonitorRequest:UrlMonitorRequest":{"properties":{"assertions":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorRequestAssertion:UrlMonitorRequestAssertion"},"description":"Assertions to validate the HTTP response. URL monitors only support status code assertions.\n"},"followRedirects":{"type":"boolean","description":"Whether to follow HTTP redirects automatically. (Default `true`).\n"},"ipFamily":{"type":"string","description":"IP family version to use for the connection. The value can be either `IPv4` or `IPv6`. (Default `IPv4`).\n"},"skipSsl":{"type":"boolean","description":"Whether to skip SSL certificate verification. (Default `false`).\n"},"url":{"type":"string","description":"The URL to monitor. Must be a valid HTTP or HTTPS URL.\n"}},"type":"object","required":["url"]},"checkly:index/UrlMonitorRequestAssertion:UrlMonitorRequestAssertion":{"properties":{"comparison":{"type":"string","description":"The type of comparison to be executed between expected and actual value of the assertion. Possible values are `EQUALS`, `NOT_EQUALS`, `GREATER_THAN` and `LESS_THAN`.\n"},"property":{"type":"string"},"source":{"type":"string","description":"The source of the asserted value. The only allowed value is `STATUS_CODE`.\n"},"target":{"type":"string","description":"The target value. Typically `200` when the source is `STATUS_CODE`.\n"}},"type":"object","required":["comparison","source","target"]},"checkly:index/UrlMonitorRetryStrategy:UrlMonitorRetryStrategy":{"properties":{"baseBackoffSeconds":{"type":"integer","description":"The number of seconds to wait before the first retry attempt. (Default `60`).\n"},"maxDurationSeconds":{"type":"integer","description":"The total amount of time to continue retrying the check/monitor (maximum 600 seconds). Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `600`).\n"},"maxRetries":{"type":"integer","description":"The maximum number of times to retry the check/monitor. Value must be between `1` and `10`. Available when `type` is `FIXED`, `LINEAR`, or `EXPONENTIAL`. (Default `2`).\n"},"onlyOn":{"$ref":"#/types/checkly:index/UrlMonitorRetryStrategyOnlyOn:UrlMonitorRetryStrategyOnlyOn","description":"Apply the retry strategy only if the defined conditions match.\n"},"sameRegion":{"type":"boolean","description":"Whether retries should be run in the same region as the initial check/monitor run. (Default `true`).\n"},"type":{"type":"string","description":"Determines which type of retry strategy to use. Possible values are `FIXED`, `LINEAR`, `EXPONENTIAL`, `SINGLE_RETRY`, and `NO_RETRIES`.\n"}},"type":"object","required":["type"]},"checkly:index/UrlMonitorRetryStrategyOnlyOn:UrlMonitorRetryStrategyOnlyOn":{"properties":{"networkError":{"type":"boolean","description":"When `true`, retry only if the cause of the failure is a network error. (Default `false`).\n"}},"type":"object"},"checkly:index/UrlMonitorTriggerIncident:UrlMonitorTriggerIncident":{"properties":{"description":{"type":"string","description":"A detailed description of the incident.\n"},"name":{"type":"string","description":"The name of the incident.\n"},"notifySubscribers":{"type":"boolean","description":"Whether to notify subscribers when the incident is triggered.\n"},"serviceId":{"type":"string","description":"The status page service that this incident will be associated with.\n"},"severity":{"type":"string","description":"The severity level of the incident. Possible values are `MINOR`, `MEDIUM`, `MAJOR`, and `CRITICAL`.\n"}},"type":"object","required":["description","name","notifySubscribers","serviceId","severity"]}},"provider":{"description":"The provider type for the checkly package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"accountId":{"type":"string"},"apiKey":{"type":"string"},"apiUrl":{"type":"string"}},"inputProperties":{"accountId":{"type":"string"},"apiKey":{"type":"string"},"apiUrl":{"type":"string"}},"methods":{"terraformConfig":"pulumi:providers:checkly/terraformConfig"}},"resources":{"checkly:index/alertChannel:AlertChannel":{"description":"Allows you to define alerting channels for the checks and groups in your account\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\n// An Email alert channel\nconst emailAc = new checkly.AlertChannel(\"email_ac\", {\n    email: {\n        address: \"john@example.com\",\n    },\n    sendRecovery: true,\n    sendFailure: false,\n    sendDegraded: true,\n    sslExpiry: true,\n    sslExpiryThreshold: 22,\n});\n// A SMS alert channel\nconst smsAc = new checkly.AlertChannel(\"sms_ac\", {\n    sms: {\n        name: \"john\",\n        number: \"+5491100001111\",\n    },\n    sendRecovery: true,\n    sendFailure: true,\n});\n// A Slack alert channel\nconst slackAc = new checkly.AlertChannel(\"slack_ac\", {slack: {\n    channel: \"#checkly-notifications\",\n    url: \"https://hooks.slack.com/services/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\",\n}});\n// An Opsgenie alert channel\nconst opsgenieAc = new checkly.AlertChannel(\"opsgenie_ac\", {opsgenie: {\n    name: \"opsalerts\",\n    apiKey: \"fookey\",\n    region: \"fooregion\",\n    priority: \"foopriority\",\n}});\n// A Pagerduty alert channel\nconst pagerdutyAc = new checkly.AlertChannel(\"pagerduty_ac\", {pagerduty: {\n    account: \"checkly\",\n    serviceKey: \"key1\",\n    serviceName: \"pdalert\",\n}});\n// A Webhook alert channel\nconst webhookAc = new checkly.AlertChannel(\"webhook_ac\", {webhook: {\n    name: \"foo\",\n    method: \"get\",\n    template: \"footemplate\",\n    url: \"https://example.com/foo\",\n    webhookSecret: \"foosecret\",\n}});\n// A Firehydran alert channel integration\nconst firehydrantAc = new checkly.AlertChannel(\"firehydrant_ac\", {webhook: {\n    name: \"firehydrant\",\n    method: \"post\",\n    template: `{\n  \"event\": \"{{ALERT_TITLE}}\",\n  \"link\": \"{{RESULT_LINK}}\",\n  \"check_id\": \"{{CHECK_ID}}\",\n  \"check_type\": \"{{CHECK_TYPE}}\",\n  \"alert_type\": \"{{ALERT_TYPE}}\",\n  \"started_at\": \"{{STARTED_AT}}\",\n  \"check_result_id\": \"{{CHECK_RESULT_ID}}\"\n},\n`,\n    url: \"https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\",\n    webhookType: \"WEBHOOK_FIREHYDRANT\",\n}});\n// Connecting the alert channel to a check\nconst exampleCheck = new checkly.Check(\"example_check\", {\n    name: \"Example check\",\n    alertChannelSubscriptions: [\n        {\n            channelId: emailAc.id,\n            activated: true,\n        },\n        {\n            channelId: smsAc.id,\n            activated: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# An Email alert channel\nemail_ac = checkly.AlertChannel(\"email_ac\",\n    email={\n        \"address\": \"john@example.com\",\n    },\n    send_recovery=True,\n    send_failure=False,\n    send_degraded=True,\n    ssl_expiry=True,\n    ssl_expiry_threshold=22)\n# A SMS alert channel\nsms_ac = checkly.AlertChannel(\"sms_ac\",\n    sms={\n        \"name\": \"john\",\n        \"number\": \"+5491100001111\",\n    },\n    send_recovery=True,\n    send_failure=True)\n# A Slack alert channel\nslack_ac = checkly.AlertChannel(\"slack_ac\", slack={\n    \"channel\": \"#checkly-notifications\",\n    \"url\": \"https://hooks.slack.com/services/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\",\n})\n# An Opsgenie alert channel\nopsgenie_ac = checkly.AlertChannel(\"opsgenie_ac\", opsgenie={\n    \"name\": \"opsalerts\",\n    \"api_key\": \"fookey\",\n    \"region\": \"fooregion\",\n    \"priority\": \"foopriority\",\n})\n# A Pagerduty alert channel\npagerduty_ac = checkly.AlertChannel(\"pagerduty_ac\", pagerduty={\n    \"account\": \"checkly\",\n    \"service_key\": \"key1\",\n    \"service_name\": \"pdalert\",\n})\n# A Webhook alert channel\nwebhook_ac = checkly.AlertChannel(\"webhook_ac\", webhook={\n    \"name\": \"foo\",\n    \"method\": \"get\",\n    \"template\": \"footemplate\",\n    \"url\": \"https://example.com/foo\",\n    \"webhook_secret\": \"foosecret\",\n})\n# A Firehydran alert channel integration\nfirehydrant_ac = checkly.AlertChannel(\"firehydrant_ac\", webhook={\n    \"name\": \"firehydrant\",\n    \"method\": \"post\",\n    \"template\": \"\"\"{\n  \"event\": \"{{ALERT_TITLE}}\",\n  \"link\": \"{{RESULT_LINK}}\",\n  \"check_id\": \"{{CHECK_ID}}\",\n  \"check_type\": \"{{CHECK_TYPE}}\",\n  \"alert_type\": \"{{ALERT_TYPE}}\",\n  \"started_at\": \"{{STARTED_AT}}\",\n  \"check_result_id\": \"{{CHECK_RESULT_ID}}\"\n},\n\"\"\",\n    \"url\": \"https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\",\n    \"webhook_type\": \"WEBHOOK_FIREHYDRANT\",\n})\n# Connecting the alert channel to a check\nexample_check = checkly.Check(\"example_check\",\n    name=\"Example check\",\n    alert_channel_subscriptions=[\n        {\n            \"channel_id\": email_ac.id,\n            \"activated\": True,\n        },\n        {\n            \"channel_id\": sms_ac.id,\n            \"activated\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // An Email alert channel\n    var emailAc = new Checkly.AlertChannel(\"email_ac\", new()\n    {\n        Email = new Checkly.Inputs.AlertChannelEmailArgs\n        {\n            Address = \"john@example.com\",\n        },\n        SendRecovery = true,\n        SendFailure = false,\n        SendDegraded = true,\n        SslExpiry = true,\n        SslExpiryThreshold = 22,\n    });\n\n    // A SMS alert channel\n    var smsAc = new Checkly.AlertChannel(\"sms_ac\", new()\n    {\n        Sms = new Checkly.Inputs.AlertChannelSmsArgs\n        {\n            Name = \"john\",\n            Number = \"+5491100001111\",\n        },\n        SendRecovery = true,\n        SendFailure = true,\n    });\n\n    // A Slack alert channel\n    var slackAc = new Checkly.AlertChannel(\"slack_ac\", new()\n    {\n        Slack = new Checkly.Inputs.AlertChannelSlackArgs\n        {\n            Channel = \"#checkly-notifications\",\n            Url = \"https://hooks.slack.com/services/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\",\n        },\n    });\n\n    // An Opsgenie alert channel\n    var opsgenieAc = new Checkly.AlertChannel(\"opsgenie_ac\", new()\n    {\n        Opsgenie = new Checkly.Inputs.AlertChannelOpsgenieArgs\n        {\n            Name = \"opsalerts\",\n            ApiKey = \"fookey\",\n            Region = \"fooregion\",\n            Priority = \"foopriority\",\n        },\n    });\n\n    // A Pagerduty alert channel\n    var pagerdutyAc = new Checkly.AlertChannel(\"pagerduty_ac\", new()\n    {\n        Pagerduty = new Checkly.Inputs.AlertChannelPagerdutyArgs\n        {\n            Account = \"checkly\",\n            ServiceKey = \"key1\",\n            ServiceName = \"pdalert\",\n        },\n    });\n\n    // A Webhook alert channel\n    var webhookAc = new Checkly.AlertChannel(\"webhook_ac\", new()\n    {\n        Webhook = new Checkly.Inputs.AlertChannelWebhookArgs\n        {\n            Name = \"foo\",\n            Method = \"get\",\n            Template = \"footemplate\",\n            Url = \"https://example.com/foo\",\n            WebhookSecret = \"foosecret\",\n        },\n    });\n\n    // A Firehydran alert channel integration\n    var firehydrantAc = new Checkly.AlertChannel(\"firehydrant_ac\", new()\n    {\n        Webhook = new Checkly.Inputs.AlertChannelWebhookArgs\n        {\n            Name = \"firehydrant\",\n            Method = \"post\",\n            Template = @\"{\n  \"\"event\"\": \"\"{{ALERT_TITLE}}\"\",\n  \"\"link\"\": \"\"{{RESULT_LINK}}\"\",\n  \"\"check_id\"\": \"\"{{CHECK_ID}}\"\",\n  \"\"check_type\"\": \"\"{{CHECK_TYPE}}\"\",\n  \"\"alert_type\"\": \"\"{{ALERT_TYPE}}\"\",\n  \"\"started_at\"\": \"\"{{STARTED_AT}}\"\",\n  \"\"check_result_id\"\": \"\"{{CHECK_RESULT_ID}}\"\"\n},\n\",\n            Url = \"https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\",\n            WebhookType = \"WEBHOOK_FIREHYDRANT\",\n        },\n    });\n\n    // Connecting the alert channel to a check\n    var exampleCheck = new Checkly.Check(\"example_check\", new()\n    {\n        Name = \"Example check\",\n        AlertChannelSubscriptions = new[]\n        {\n            new Checkly.Inputs.CheckAlertChannelSubscriptionArgs\n            {\n                ChannelId = emailAc.Id,\n                Activated = true,\n            },\n            new Checkly.Inputs.CheckAlertChannelSubscriptionArgs\n            {\n                ChannelId = smsAc.Id,\n                Activated = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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// An Email alert channel\n\t\temailAc, err := checkly.NewAlertChannel(ctx, \"email_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tEmail: \u0026checkly.AlertChannelEmailArgs{\n\t\t\t\tAddress: pulumi.String(\"john@example.com\"),\n\t\t\t},\n\t\t\tSendRecovery:       pulumi.Bool(true),\n\t\t\tSendFailure:        pulumi.Bool(false),\n\t\t\tSendDegraded:       pulumi.Bool(true),\n\t\t\tSslExpiry:          pulumi.Bool(true),\n\t\t\tSslExpiryThreshold: pulumi.Int(22),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A SMS alert channel\n\t\tsmsAc, err := checkly.NewAlertChannel(ctx, \"sms_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tSms: \u0026checkly.AlertChannelSmsArgs{\n\t\t\t\tName:   pulumi.String(\"john\"),\n\t\t\t\tNumber: pulumi.String(\"+5491100001111\"),\n\t\t\t},\n\t\t\tSendRecovery: pulumi.Bool(true),\n\t\t\tSendFailure:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A Slack alert channel\n\t\t_, err = checkly.NewAlertChannel(ctx, \"slack_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tSlack: \u0026checkly.AlertChannelSlackArgs{\n\t\t\t\tChannel: pulumi.String(\"#checkly-notifications\"),\n\t\t\t\tUrl:     pulumi.String(\"https://hooks.slack.com/services/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\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// An Opsgenie alert channel\n\t\t_, err = checkly.NewAlertChannel(ctx, \"opsgenie_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tOpsgenie: \u0026checkly.AlertChannelOpsgenieArgs{\n\t\t\t\tName:     pulumi.String(\"opsalerts\"),\n\t\t\t\tApiKey:   pulumi.String(\"fookey\"),\n\t\t\t\tRegion:   pulumi.String(\"fooregion\"),\n\t\t\t\tPriority: pulumi.String(\"foopriority\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A Pagerduty alert channel\n\t\t_, err = checkly.NewAlertChannel(ctx, \"pagerduty_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tPagerduty: \u0026checkly.AlertChannelPagerdutyArgs{\n\t\t\t\tAccount:     pulumi.String(\"checkly\"),\n\t\t\t\tServiceKey:  pulumi.String(\"key1\"),\n\t\t\t\tServiceName: pulumi.String(\"pdalert\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A Webhook alert channel\n\t\t_, err = checkly.NewAlertChannel(ctx, \"webhook_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tWebhook: \u0026checkly.AlertChannelWebhookArgs{\n\t\t\t\tName:          pulumi.String(\"foo\"),\n\t\t\t\tMethod:        pulumi.String(\"get\"),\n\t\t\t\tTemplate:      pulumi.String(\"footemplate\"),\n\t\t\t\tUrl:           pulumi.String(\"https://example.com/foo\"),\n\t\t\t\tWebhookSecret: pulumi.String(\"foosecret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A Firehydran alert channel integration\n\t\t_, err = checkly.NewAlertChannel(ctx, \"firehydrant_ac\", \u0026checkly.AlertChannelArgs{\n\t\t\tWebhook: \u0026checkly.AlertChannelWebhookArgs{\n\t\t\t\tName:   pulumi.String(\"firehydrant\"),\n\t\t\t\tMethod: pulumi.String(\"post\"),\n\t\t\t\tTemplate: pulumi.String(`{\n  \"event\": \"{{ALERT_TITLE}}\",\n  \"link\": \"{{RESULT_LINK}}\",\n  \"check_id\": \"{{CHECK_ID}}\",\n  \"check_type\": \"{{CHECK_TYPE}}\",\n  \"alert_type\": \"{{ALERT_TYPE}}\",\n  \"started_at\": \"{{STARTED_AT}}\",\n  \"check_result_id\": \"{{CHECK_RESULT_ID}}\"\n},\n`),\n\t\t\t\tUrl:         pulumi.String(\"https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\"),\n\t\t\t\tWebhookType: pulumi.String(\"WEBHOOK_FIREHYDRANT\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Connecting the alert channel to a check\n\t\t_, err = checkly.NewCheck(ctx, \"example_check\", \u0026checkly.CheckArgs{\n\t\t\tName: pulumi.String(\"Example check\"),\n\t\t\tAlertChannelSubscriptions: checkly.CheckAlertChannelSubscriptionArray{\n\t\t\t\t\u0026checkly.CheckAlertChannelSubscriptionArgs{\n\t\t\t\t\tChannelId: emailAc.ID(),\n\t\t\t\t\tActivated: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026checkly.CheckAlertChannelSubscriptionArgs{\n\t\t\t\t\tChannelId: smsAc.ID(),\n\t\t\t\t\tActivated: pulumi.Bool(true),\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.checkly.AlertChannel;\nimport com.pulumi.checkly.AlertChannelArgs;\nimport com.pulumi.checkly.inputs.AlertChannelEmailArgs;\nimport com.pulumi.checkly.inputs.AlertChannelSmsArgs;\nimport com.pulumi.checkly.inputs.AlertChannelSlackArgs;\nimport com.pulumi.checkly.inputs.AlertChannelOpsgenieArgs;\nimport com.pulumi.checkly.inputs.AlertChannelPagerdutyArgs;\nimport com.pulumi.checkly.inputs.AlertChannelWebhookArgs;\nimport com.pulumi.checkly.Check;\nimport com.pulumi.checkly.CheckArgs;\nimport com.pulumi.checkly.inputs.CheckAlertChannelSubscriptionArgs;\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        // An Email alert channel\n        var emailAc = new AlertChannel(\"emailAc\", AlertChannelArgs.builder()\n            .email(AlertChannelEmailArgs.builder()\n                .address(\"john@example.com\")\n                .build())\n            .sendRecovery(true)\n            .sendFailure(false)\n            .sendDegraded(true)\n            .sslExpiry(true)\n            .sslExpiryThreshold(22)\n            .build());\n\n        // A SMS alert channel\n        var smsAc = new AlertChannel(\"smsAc\", AlertChannelArgs.builder()\n            .sms(AlertChannelSmsArgs.builder()\n                .name(\"john\")\n                .number(\"+5491100001111\")\n                .build())\n            .sendRecovery(true)\n            .sendFailure(true)\n            .build());\n\n        // A Slack alert channel\n        var slackAc = new AlertChannel(\"slackAc\", AlertChannelArgs.builder()\n            .slack(AlertChannelSlackArgs.builder()\n                .channel(\"#checkly-notifications\")\n                .url(\"https://hooks.slack.com/services/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\")\n                .build())\n            .build());\n\n        // An Opsgenie alert channel\n        var opsgenieAc = new AlertChannel(\"opsgenieAc\", AlertChannelArgs.builder()\n            .opsgenie(AlertChannelOpsgenieArgs.builder()\n                .name(\"opsalerts\")\n                .apiKey(\"fookey\")\n                .region(\"fooregion\")\n                .priority(\"foopriority\")\n                .build())\n            .build());\n\n        // A Pagerduty alert channel\n        var pagerdutyAc = new AlertChannel(\"pagerdutyAc\", AlertChannelArgs.builder()\n            .pagerduty(AlertChannelPagerdutyArgs.builder()\n                .account(\"checkly\")\n                .serviceKey(\"key1\")\n                .serviceName(\"pdalert\")\n                .build())\n            .build());\n\n        // A Webhook alert channel\n        var webhookAc = new AlertChannel(\"webhookAc\", AlertChannelArgs.builder()\n            .webhook(AlertChannelWebhookArgs.builder()\n                .name(\"foo\")\n                .method(\"get\")\n                .template(\"footemplate\")\n                .url(\"https://example.com/foo\")\n                .webhookSecret(\"foosecret\")\n                .build())\n            .build());\n\n        // A Firehydran alert channel integration\n        var firehydrantAc = new AlertChannel(\"firehydrantAc\", AlertChannelArgs.builder()\n            .webhook(AlertChannelWebhookArgs.builder()\n                .name(\"firehydrant\")\n                .method(\"post\")\n                .template(\"\"\"\n{\n  \"event\": \"{{ALERT_TITLE}}\",\n  \"link\": \"{{RESULT_LINK}}\",\n  \"check_id\": \"{{CHECK_ID}}\",\n  \"check_type\": \"{{CHECK_TYPE}}\",\n  \"alert_type\": \"{{ALERT_TYPE}}\",\n  \"started_at\": \"{{STARTED_AT}}\",\n  \"check_result_id\": \"{{CHECK_RESULT_ID}}\"\n},\n                \"\"\")\n                .url(\"https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\")\n                .webhookType(\"WEBHOOK_FIREHYDRANT\")\n                .build())\n            .build());\n\n        // Connecting the alert channel to a check\n        var exampleCheck = new Check(\"exampleCheck\", CheckArgs.builder()\n            .name(\"Example check\")\n            .alertChannelSubscriptions(            \n                CheckAlertChannelSubscriptionArgs.builder()\n                    .channelId(emailAc.id())\n                    .activated(true)\n                    .build(),\n                CheckAlertChannelSubscriptionArgs.builder()\n                    .channelId(smsAc.id())\n                    .activated(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # An Email alert channel\n  emailAc:\n    type: checkly:AlertChannel\n    name: email_ac\n    properties:\n      email:\n        address: john@example.com\n      sendRecovery: true\n      sendFailure: false\n      sendDegraded: true\n      sslExpiry: true\n      sslExpiryThreshold: 22\n  # A SMS alert channel\n  smsAc:\n    type: checkly:AlertChannel\n    name: sms_ac\n    properties:\n      sms:\n        name: john\n        number: '+5491100001111'\n      sendRecovery: true\n      sendFailure: true\n  # A Slack alert channel\n  slackAc:\n    type: checkly:AlertChannel\n    name: slack_ac\n    properties:\n      slack:\n        channel: '#checkly-notifications'\n        url: https://hooks.slack.com/services/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\n  # An Opsgenie alert channel\n  opsgenieAc:\n    type: checkly:AlertChannel\n    name: opsgenie_ac\n    properties:\n      opsgenie:\n        name: opsalerts\n        apiKey: fookey\n        region: fooregion\n        priority: foopriority\n  # A Pagerduty alert channel\n  pagerdutyAc:\n    type: checkly:AlertChannel\n    name: pagerduty_ac\n    properties:\n      pagerduty:\n        account: checkly\n        serviceKey: key1\n        serviceName: pdalert\n  # A Webhook alert channel\n  webhookAc:\n    type: checkly:AlertChannel\n    name: webhook_ac\n    properties:\n      webhook:\n        name: foo\n        method: get\n        template: footemplate\n        url: https://example.com/foo\n        webhookSecret: foosecret\n  # A Firehydran alert channel integration\n  firehydrantAc:\n    type: checkly:AlertChannel\n    name: firehydrant_ac\n    properties:\n      webhook:\n        name: firehydrant\n        method: post\n        template: |\n          {\n            \"event\": \"{{ALERT_TITLE}}\",\n            \"link\": \"{{RESULT_LINK}}\",\n            \"check_id\": \"{{CHECK_ID}}\",\n            \"check_type\": \"{{CHECK_TYPE}}\",\n            \"alert_type\": \"{{ALERT_TYPE}}\",\n            \"started_at\": \"{{STARTED_AT}}\",\n            \"check_result_id\": \"{{CHECK_RESULT_ID}}\"\n          },\n        url: https://app.firehydrant.io/integrations/alerting/webhooks/2/checkly\n        webhookType: WEBHOOK_FIREHYDRANT\n  # Connecting the alert channel to a check\n  exampleCheck:\n    type: checkly:Check\n    name: example_check\n    properties:\n      name: Example check\n      alertChannelSubscriptions:\n        - channelId: ${emailAc.id}\n          activated: true\n        - channelId: ${smsAc.id}\n          activated: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"call":{"$ref":"#/types/checkly:index/AlertChannelCall:AlertChannelCall"},"email":{"$ref":"#/types/checkly:index/AlertChannelEmail:AlertChannelEmail"},"opsgenie":{"$ref":"#/types/checkly:index/AlertChannelOpsgenie:AlertChannelOpsgenie"},"pagerduty":{"$ref":"#/types/checkly:index/AlertChannelPagerduty:AlertChannelPagerduty"},"sendDegraded":{"type":"boolean","description":"(Default `false`)\n"},"sendFailure":{"type":"boolean","description":"(Default `true`)\n"},"sendRecovery":{"type":"boolean","description":"(Default `true`)\n"},"slack":{"$ref":"#/types/checkly:index/AlertChannelSlack:AlertChannelSlack"},"sms":{"$ref":"#/types/checkly:index/AlertChannelSms:AlertChannelSms"},"sslExpiry":{"type":"boolean","description":"(Default `false`)\n"},"sslExpiryThreshold":{"type":"integer","description":"Value must be between 1 and 30 (Default `30`)\n"},"webhook":{"$ref":"#/types/checkly:index/AlertChannelWebhook:AlertChannelWebhook"}},"inputProperties":{"call":{"$ref":"#/types/checkly:index/AlertChannelCall:AlertChannelCall"},"email":{"$ref":"#/types/checkly:index/AlertChannelEmail:AlertChannelEmail"},"opsgenie":{"$ref":"#/types/checkly:index/AlertChannelOpsgenie:AlertChannelOpsgenie"},"pagerduty":{"$ref":"#/types/checkly:index/AlertChannelPagerduty:AlertChannelPagerduty"},"sendDegraded":{"type":"boolean","description":"(Default `false`)\n"},"sendFailure":{"type":"boolean","description":"(Default `true`)\n"},"sendRecovery":{"type":"boolean","description":"(Default `true`)\n"},"slack":{"$ref":"#/types/checkly:index/AlertChannelSlack:AlertChannelSlack"},"sms":{"$ref":"#/types/checkly:index/AlertChannelSms:AlertChannelSms"},"sslExpiry":{"type":"boolean","description":"(Default `false`)\n"},"sslExpiryThreshold":{"type":"integer","description":"Value must be between 1 and 30 (Default `30`)\n"},"webhook":{"$ref":"#/types/checkly:index/AlertChannelWebhook:AlertChannelWebhook"}},"stateInputs":{"description":"Input properties used for looking up and filtering AlertChannel resources.\n","properties":{"call":{"$ref":"#/types/checkly:index/AlertChannelCall:AlertChannelCall"},"email":{"$ref":"#/types/checkly:index/AlertChannelEmail:AlertChannelEmail"},"opsgenie":{"$ref":"#/types/checkly:index/AlertChannelOpsgenie:AlertChannelOpsgenie"},"pagerduty":{"$ref":"#/types/checkly:index/AlertChannelPagerduty:AlertChannelPagerduty"},"sendDegraded":{"type":"boolean","description":"(Default `false`)\n"},"sendFailure":{"type":"boolean","description":"(Default `true`)\n"},"sendRecovery":{"type":"boolean","description":"(Default `true`)\n"},"slack":{"$ref":"#/types/checkly:index/AlertChannelSlack:AlertChannelSlack"},"sms":{"$ref":"#/types/checkly:index/AlertChannelSms:AlertChannelSms"},"sslExpiry":{"type":"boolean","description":"(Default `false`)\n"},"sslExpiryThreshold":{"type":"integer","description":"Value must be between 1 and 30 (Default `30`)\n"},"webhook":{"$ref":"#/types/checkly:index/AlertChannelWebhook:AlertChannelWebhook"}},"type":"object"}},"checkly:index/check:Check":{"description":"Checks allows you to monitor key webapp flows, backend API's and set up alerting, so you get a notification when things break or slow down.\n\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertChannelSubscription:CheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckAlertSettings:CheckAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 30000. (Default `15000`).\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckEnvironmentVariable:CheckEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"Only relevant when `type` is `API`. When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 30000. (Default `30000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/CheckRequest:CheckRequest","description":"An API check might have one request config.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckRetryStrategy:CheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this check.\n"},"script":{"type":"string","description":"A valid piece of Node.js JavaScript code describing a browser interaction with the Puppeteer/Playwright framework or a reference to an external JavaScript file.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.\n"},"sslCheck":{"type":"boolean","description":"Determines if the SSL certificate should be validated for expiry.\n","deprecationMessage":"The property `ssl_check` is deprecated and it's ignored by the Checkly Public API. It will be removed in a future version."},"sslCheckDomain":{"type":"string","description":"A valid fully qualified domain name (FQDN) to check its SSL certificate.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/CheckTriggerIncident:CheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"type":{"type":"string","description":"The type of the check. Possible values are `API`, `BROWSER`, and `MULTI_STEP`.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"required":["activated","alertSettings","frequency","name","retryStrategy","type"],"inputProperties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertChannelSubscription:CheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckAlertSettings:CheckAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 30000. (Default `15000`).\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckEnvironmentVariable:CheckEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"Only relevant when `type` is `API`. When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 30000. (Default `30000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/CheckRequest:CheckRequest","description":"An API check might have one request config.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckRetryStrategy:CheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this check.\n"},"script":{"type":"string","description":"A valid piece of Node.js JavaScript code describing a browser interaction with the Puppeteer/Playwright framework or a reference to an external JavaScript file.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.\n"},"sslCheck":{"type":"boolean","description":"Determines if the SSL certificate should be validated for expiry.\n","deprecationMessage":"The property `ssl_check` is deprecated and it's ignored by the Checkly Public API. It will be removed in a future version."},"sslCheckDomain":{"type":"string","description":"A valid fully qualified domain name (FQDN) to check its SSL certificate.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/CheckTriggerIncident:CheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"type":{"type":"string","description":"The type of the check. Possible values are `API`, `BROWSER`, and `MULTI_STEP`.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"requiredInputs":["activated","frequency","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Check resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckAlertChannelSubscription:CheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckAlertSettings:CheckAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 30000. (Default `15000`).\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckEnvironmentVariable:CheckEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"Only relevant when `type` is `API`. When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 30000. (Default `30000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/CheckRequest:CheckRequest","description":"An API check might have one request config.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckRetryStrategy:CheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this check.\n"},"script":{"type":"string","description":"A valid piece of Node.js JavaScript code describing a browser interaction with the Puppeteer/Playwright framework or a reference to an external JavaScript file.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail. Allows for validating error status like 404.\n"},"sslCheck":{"type":"boolean","description":"Determines if the SSL certificate should be validated for expiry.\n","deprecationMessage":"The property `ssl_check` is deprecated and it's ignored by the Checkly Public API. It will be removed in a future version."},"sslCheckDomain":{"type":"string","description":"A valid fully qualified domain name (FQDN) to check its SSL certificate.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/CheckTriggerIncident:CheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"type":{"type":"string","description":"The type of the check. Possible values are `API`, `BROWSER`, and `MULTI_STEP`.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"type":"object"}},"checkly:index/checkGroup:CheckGroup":{"description":"Check groups allow  you to group together a set of related checks, which can also share default settings for various attributes.\n\n","properties":{"activated":{"type":"boolean","description":"Determines if the checks in the group are running or not.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckGroupAlertSettings:CheckGroupAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupApiCheckDefaults:CheckGroupApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines how many checks are run concurrently when triggering a check group from CI/CD or through the API.\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase of an API check in this group.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase of an API check in this group.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the checks.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers.\n"},"name":{"type":"string","description":"The name of the check group.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckGroupRetryStrategy:CheckGroupRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the checks in the group should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this group.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check group.\n"}},"required":["activated","alertSettings","apiCheckDefaults","concurrency","name","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines if the checks in the group are running or not.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckGroupAlertSettings:CheckGroupAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupApiCheckDefaults:CheckGroupApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines how many checks are run concurrently when triggering a check group from CI/CD or through the API.\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase of an API check in this group.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase of an API check in this group.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the checks.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers.\n"},"name":{"type":"string","description":"The name of the check group.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckGroupRetryStrategy:CheckGroupRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the checks in the group should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this group.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check group.\n"}},"requiredInputs":["activated","concurrency"],"stateInputs":{"description":"Input properties used for looking up and filtering CheckGroup resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the checks in the group are running or not.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/CheckGroupAlertSettings:CheckGroupAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupApiCheckDefaults:CheckGroupApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines how many checks are run concurrently when triggering a check group from CI/CD or through the API.\n"},"doubleCheck":{"type":"boolean","description":"Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. (Default `false`).\n","deprecationMessage":"The property `double_check` is deprecated and will be removed in a future version. To enable retries for failed check runs, use the `retry_strategy` property instead."},"environmentVariable":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"},"description":"Insert environment variables into the runtime environment. Only relevant for browser checks. Use global environment variables whenever possible.\n"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value pairs of environment variables to insert into the runtime environment.\n","deprecationMessage":"This attribute is deprecated and will be removed in a future version. Use the `environment_variable` attribute instead."},"localSetupScript":{"type":"string","description":"A valid piece of Node.js code to run in the setup phase of an API check in this group.\n"},"localTeardownScript":{"type":"string","description":"A valid piece of Node.js code to run in the teardown phase of an API check in this group.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the checks.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers.\n"},"name":{"type":"string","description":"The name of the check group.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/CheckGroupRetryStrategy:CheckGroupRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the checks in the group should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The id of the runtime to use for this group.\n"},"setupSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the setup phase of an API check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for organizing and filtering checks.\n"},"teardownSnippetId":{"type":"integer","description":"An ID reference to a snippet to use in the teardown phase of an API check.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check group.\n"}},"type":"object"}},"checkly:index/checkGroupV2:CheckGroupV2":{"description":"Check groups organize related checks together and allow optional shared configuration. \n\nUnlike `checkly.CheckGroup` (v1), which always imposed implicit defaults for various settings, `checkly.CheckGroupV2` does not override any check settings by default. A group can be as minimal as just a name. Use the optional `enforce_*` blocks only when you explicitly want the group to override individual check settings.\n\nThe new `checkly.CheckGroupV2` resource should always be preferred over the old `checkly.CheckGroup` resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\n// Minimal example: just a folder to organize checks.\nconst just_a_folder = new checkly.CheckGroupV2(\"just-a-folder\", {name: \"Just a Folder\"});\n// Full example: a group with enforced settings that override individual checks.\nconst production_api = new checkly.CheckGroupV2(\"production-api\", {\n    name: \"Production API\",\n    activated: true,\n    muted: false,\n    concurrency: 5,\n    tags: [\n        \"production\",\n        \"api\",\n    ],\n    enforceLocations: {\n        enabled: true,\n        locations: [\n            \"us-east-1\",\n            \"eu-west-1\",\n            \"ap-southeast-1\",\n        ],\n        privateLocations: [\"my-datacenter\"],\n    },\n    enforceRetryStrategy: {\n        enabled: true,\n        retryStrategy: {\n            type: \"LINEAR\",\n            baseBackoffSeconds: 30,\n            maxRetries: 3,\n            maxDurationSeconds: 300,\n            sameRegion: true,\n        },\n    },\n    enforceSchedulingStrategy: {\n        enabled: true,\n        runParallel: true,\n    },\n    enforceAlertSettings: {\n        enabled: true,\n        alertSettings: {\n            escalationType: \"RUN_BASED\",\n            runBasedEscalations: [{\n                failedRunThreshold: 2,\n            }],\n            reminders: [{\n                amount: 3,\n                interval: 10,\n            }],\n            parallelRunFailureThresholds: [{\n                enabled: true,\n                percentage: 50,\n            }],\n        },\n        alertChannelSubscriptions: [{\n            channelId: 1234,\n            activated: true,\n        }],\n    },\n    environmentVariables: [\n        {\n            key: \"BASE_URL\",\n            value: \"https://api.example.com\",\n            locked: false,\n        },\n        {\n            key: \"API_TOKEN\",\n            value: \"super-secret-token\",\n            locked: true,\n            secret: true,\n        },\n    ],\n    defaultRuntime: {\n        runtimeId: \"2024.02\",\n    },\n    apiCheckDefaults: {\n        url: \"https://api.example.com/\",\n        headers: {\n            \"X-Api-Key\": \"{{API_TOKEN}}\",\n            \"Content-Type\": \"application/json\",\n        },\n        queryParameters: {\n            version: \"v2\",\n        },\n        assertions: [\n            {\n                source: \"STATUS_CODE\",\n                comparison: \"LESS_THAN\",\n                target: \"400\",\n            },\n            {\n                source: \"RESPONSE_TIME\",\n                comparison: \"LESS_THAN\",\n                target: \"3000\",\n            },\n        ],\n        basicAuth: {\n            username: \"admin\",\n            password: \"pass\",\n        },\n    },\n    setupScript: {\n        inlineScript: `// Runs before every API check in this group\nconsole.log(\"Setting up...\")\n`,\n    },\n    teardownScript: {\n        inlineScript: `// Runs after every API check in this group\nconsole.log(\"Tearing down...\")\n`,\n    },\n});\n// Example: enforce only retry strategy with network-error-only retries.\nconst retry_on_network_errors = new checkly.CheckGroupV2(\"retry-on-network-errors\", {\n    name: \"Retry on Network Errors Only\",\n    enforceRetryStrategy: {\n        enabled: true,\n        retryStrategy: {\n            type: \"EXPONENTIAL\",\n            baseBackoffSeconds: 10,\n            maxRetries: 5,\n            maxDurationSeconds: 600,\n            sameRegion: false,\n            onlyOn: {\n                networkError: true,\n            },\n        },\n    },\n});\n// Example: enforce time-based alert escalation.\nconst time_based_alerts = new checkly.CheckGroupV2(\"time-based-alerts\", {\n    name: \"Time-Based Alert Escalation\",\n    enforceAlertSettings: {\n        enabled: true,\n        alertSettings: {\n            escalationType: \"TIME_BASED\",\n            timeBasedEscalations: [{\n                minutesFailingThreshold: 10,\n            }],\n            reminders: [{\n                amount: 5,\n                interval: 15,\n            }],\n        },\n    },\n});\n// Example: use global alert settings instead of custom ones.\nconst use_global_alerts = new checkly.CheckGroupV2(\"use-global-alerts\", {\n    name: \"Use Global Alert Settings\",\n    enforceAlertSettings: {\n        enabled: true,\n        useGlobalAlertSettings: true,\n    },\n});\n// Example: enforce alert channel subscriptions with custom alert settings.\nconst email = new checkly.AlertChannel(\"email\", {email: {\n    address: \"alerts@example.com\",\n}});\nconst slack = new checkly.AlertChannel(\"slack\", {slack: {\n    channel: \"#alerts\",\n    url: \"https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\",\n}});\nconst with_alert_channels = new checkly.CheckGroupV2(\"with-alert-channels\", {\n    name: \"Group with Alert Channels\",\n    enforceAlertSettings: {\n        enabled: true,\n        alertSettings: {\n            escalationType: \"RUN_BASED\",\n            runBasedEscalations: [{\n                failedRunThreshold: 1,\n            }],\n            reminders: [{\n                amount: 0,\n                interval: 5,\n            }],\n        },\n        alertChannelSubscriptions: [\n            {\n                channelId: email.id,\n                activated: true,\n            },\n            {\n                channelId: slack.id,\n                activated: true,\n            },\n        ],\n    },\n});\n// Example: enforce no retries.\nconst no_retries = new checkly.CheckGroupV2(\"no-retries\", {\n    name: \"No Retries Group\",\n    enforceRetryStrategy: {\n        enabled: true,\n        retryStrategy: {\n            type: \"NO_RETRIES\",\n        },\n    },\n});\n// Example: enforce a single retry.\nconst single_retry = new checkly.CheckGroupV2(\"single-retry\", {\n    name: \"Single Retry Group\",\n    enforceRetryStrategy: {\n        enabled: true,\n        retryStrategy: {\n            type: \"SINGLE_RETRY\",\n            baseBackoffSeconds: 10,\n            sameRegion: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# Minimal example: just a folder to organize checks.\njust_a_folder = checkly.CheckGroupV2(\"just-a-folder\", name=\"Just a Folder\")\n# Full example: a group with enforced settings that override individual checks.\nproduction_api = checkly.CheckGroupV2(\"production-api\",\n    name=\"Production API\",\n    activated=True,\n    muted=False,\n    concurrency=5,\n    tags=[\n        \"production\",\n        \"api\",\n    ],\n    enforce_locations={\n        \"enabled\": True,\n        \"locations\": [\n            \"us-east-1\",\n            \"eu-west-1\",\n            \"ap-southeast-1\",\n        ],\n        \"private_locations\": [\"my-datacenter\"],\n    },\n    enforce_retry_strategy={\n        \"enabled\": True,\n        \"retry_strategy\": {\n            \"type\": \"LINEAR\",\n            \"base_backoff_seconds\": 30,\n            \"max_retries\": 3,\n            \"max_duration_seconds\": 300,\n            \"same_region\": True,\n        },\n    },\n    enforce_scheduling_strategy={\n        \"enabled\": True,\n        \"run_parallel\": True,\n    },\n    enforce_alert_settings={\n        \"enabled\": True,\n        \"alert_settings\": {\n            \"escalation_type\": \"RUN_BASED\",\n            \"run_based_escalations\": [{\n                \"failed_run_threshold\": 2,\n            }],\n            \"reminders\": [{\n                \"amount\": 3,\n                \"interval\": 10,\n            }],\n            \"parallel_run_failure_thresholds\": [{\n                \"enabled\": True,\n                \"percentage\": 50,\n            }],\n        },\n        \"alert_channel_subscriptions\": [{\n            \"channel_id\": 1234,\n            \"activated\": True,\n        }],\n    },\n    environment_variables=[\n        {\n            \"key\": \"BASE_URL\",\n            \"value\": \"https://api.example.com\",\n            \"locked\": False,\n        },\n        {\n            \"key\": \"API_TOKEN\",\n            \"value\": \"super-secret-token\",\n            \"locked\": True,\n            \"secret\": True,\n        },\n    ],\n    default_runtime={\n        \"runtime_id\": \"2024.02\",\n    },\n    api_check_defaults={\n        \"url\": \"https://api.example.com/\",\n        \"headers\": {\n            \"X-Api-Key\": \"{{API_TOKEN}}\",\n            \"Content-Type\": \"application/json\",\n        },\n        \"query_parameters\": {\n            \"version\": \"v2\",\n        },\n        \"assertions\": [\n            {\n                \"source\": \"STATUS_CODE\",\n                \"comparison\": \"LESS_THAN\",\n                \"target\": \"400\",\n            },\n            {\n                \"source\": \"RESPONSE_TIME\",\n                \"comparison\": \"LESS_THAN\",\n                \"target\": \"3000\",\n            },\n        ],\n        \"basic_auth\": {\n            \"username\": \"admin\",\n            \"password\": \"pass\",\n        },\n    },\n    setup_script={\n        \"inline_script\": \"\"\"// Runs before every API check in this group\nconsole.log(\"Setting up...\")\n\"\"\",\n    },\n    teardown_script={\n        \"inline_script\": \"\"\"// Runs after every API check in this group\nconsole.log(\"Tearing down...\")\n\"\"\",\n    })\n# Example: enforce only retry strategy with network-error-only retries.\nretry_on_network_errors = checkly.CheckGroupV2(\"retry-on-network-errors\",\n    name=\"Retry on Network Errors Only\",\n    enforce_retry_strategy={\n        \"enabled\": True,\n        \"retry_strategy\": {\n            \"type\": \"EXPONENTIAL\",\n            \"base_backoff_seconds\": 10,\n            \"max_retries\": 5,\n            \"max_duration_seconds\": 600,\n            \"same_region\": False,\n            \"only_on\": {\n                \"network_error\": True,\n            },\n        },\n    })\n# Example: enforce time-based alert escalation.\ntime_based_alerts = checkly.CheckGroupV2(\"time-based-alerts\",\n    name=\"Time-Based Alert Escalation\",\n    enforce_alert_settings={\n        \"enabled\": True,\n        \"alert_settings\": {\n            \"escalation_type\": \"TIME_BASED\",\n            \"time_based_escalations\": [{\n                \"minutes_failing_threshold\": 10,\n            }],\n            \"reminders\": [{\n                \"amount\": 5,\n                \"interval\": 15,\n            }],\n        },\n    })\n# Example: use global alert settings instead of custom ones.\nuse_global_alerts = checkly.CheckGroupV2(\"use-global-alerts\",\n    name=\"Use Global Alert Settings\",\n    enforce_alert_settings={\n        \"enabled\": True,\n        \"use_global_alert_settings\": True,\n    })\n# Example: enforce alert channel subscriptions with custom alert settings.\nemail = checkly.AlertChannel(\"email\", email={\n    \"address\": \"alerts@example.com\",\n})\nslack = checkly.AlertChannel(\"slack\", slack={\n    \"channel\": \"#alerts\",\n    \"url\": \"https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\",\n})\nwith_alert_channels = checkly.CheckGroupV2(\"with-alert-channels\",\n    name=\"Group with Alert Channels\",\n    enforce_alert_settings={\n        \"enabled\": True,\n        \"alert_settings\": {\n            \"escalation_type\": \"RUN_BASED\",\n            \"run_based_escalations\": [{\n                \"failed_run_threshold\": 1,\n            }],\n            \"reminders\": [{\n                \"amount\": 0,\n                \"interval\": 5,\n            }],\n        },\n        \"alert_channel_subscriptions\": [\n            {\n                \"channel_id\": email.id,\n                \"activated\": True,\n            },\n            {\n                \"channel_id\": slack.id,\n                \"activated\": True,\n            },\n        ],\n    })\n# Example: enforce no retries.\nno_retries = checkly.CheckGroupV2(\"no-retries\",\n    name=\"No Retries Group\",\n    enforce_retry_strategy={\n        \"enabled\": True,\n        \"retry_strategy\": {\n            \"type\": \"NO_RETRIES\",\n        },\n    })\n# Example: enforce a single retry.\nsingle_retry = checkly.CheckGroupV2(\"single-retry\",\n    name=\"Single Retry Group\",\n    enforce_retry_strategy={\n        \"enabled\": True,\n        \"retry_strategy\": {\n            \"type\": \"SINGLE_RETRY\",\n            \"base_backoff_seconds\": 10,\n            \"same_region\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Minimal example: just a folder to organize checks.\n    var just_a_folder = new Checkly.CheckGroupV2(\"just-a-folder\", new()\n    {\n        Name = \"Just a Folder\",\n    });\n\n    // Full example: a group with enforced settings that override individual checks.\n    var production_api = new Checkly.CheckGroupV2(\"production-api\", new()\n    {\n        Name = \"Production API\",\n        Activated = true,\n        Muted = false,\n        Concurrency = 5,\n        Tags = new[]\n        {\n            \"production\",\n            \"api\",\n        },\n        EnforceLocations = new Checkly.Inputs.CheckGroupV2EnforceLocationsArgs\n        {\n            Enabled = true,\n            Locations = new[]\n            {\n                \"us-east-1\",\n                \"eu-west-1\",\n                \"ap-southeast-1\",\n            },\n            PrivateLocations = new[]\n            {\n                \"my-datacenter\",\n            },\n        },\n        EnforceRetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyArgs\n        {\n            Enabled = true,\n            RetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs\n            {\n                Type = \"LINEAR\",\n                BaseBackoffSeconds = 30,\n                MaxRetries = 3,\n                MaxDurationSeconds = 300,\n                SameRegion = true,\n            },\n        },\n        EnforceSchedulingStrategy = new Checkly.Inputs.CheckGroupV2EnforceSchedulingStrategyArgs\n        {\n            Enabled = true,\n            RunParallel = true,\n        },\n        EnforceAlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsArgs\n        {\n            Enabled = true,\n            AlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs\n            {\n                EscalationType = \"RUN_BASED\",\n                RunBasedEscalations = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs\n                    {\n                        FailedRunThreshold = 2,\n                    },\n                },\n                Reminders = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs\n                    {\n                        Amount = 3,\n                        Interval = 10,\n                    },\n                },\n                ParallelRunFailureThresholds = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThresholdArgs\n                    {\n                        Enabled = true,\n                        Percentage = 50,\n                    },\n                },\n            },\n            AlertChannelSubscriptions = new[]\n            {\n                new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs\n                {\n                    ChannelId = 1234,\n                    Activated = true,\n                },\n            },\n        },\n        EnvironmentVariables = new[]\n        {\n            new Checkly.Inputs.CheckGroupV2EnvironmentVariableArgs\n            {\n                Key = \"BASE_URL\",\n                Value = \"https://api.example.com\",\n                Locked = false,\n            },\n            new Checkly.Inputs.CheckGroupV2EnvironmentVariableArgs\n            {\n                Key = \"API_TOKEN\",\n                Value = \"super-secret-token\",\n                Locked = true,\n                Secret = true,\n            },\n        },\n        DefaultRuntime = new Checkly.Inputs.CheckGroupV2DefaultRuntimeArgs\n        {\n            RuntimeId = \"2024.02\",\n        },\n        ApiCheckDefaults = new Checkly.Inputs.CheckGroupV2ApiCheckDefaultsArgs\n        {\n            Url = \"https://api.example.com/\",\n            Headers = \n            {\n                { \"X-Api-Key\", \"{{API_TOKEN}}\" },\n                { \"Content-Type\", \"application/json\" },\n            },\n            QueryParameters = \n            {\n                { \"version\", \"v2\" },\n            },\n            Assertions = new[]\n            {\n                new Checkly.Inputs.CheckGroupV2ApiCheckDefaultsAssertionArgs\n                {\n                    Source = \"STATUS_CODE\",\n                    Comparison = \"LESS_THAN\",\n                    Target = \"400\",\n                },\n                new Checkly.Inputs.CheckGroupV2ApiCheckDefaultsAssertionArgs\n                {\n                    Source = \"RESPONSE_TIME\",\n                    Comparison = \"LESS_THAN\",\n                    Target = \"3000\",\n                },\n            },\n            BasicAuth = new Checkly.Inputs.CheckGroupV2ApiCheckDefaultsBasicAuthArgs\n            {\n                Username = \"admin\",\n                Password = \"pass\",\n            },\n        },\n        SetupScript = new Checkly.Inputs.CheckGroupV2SetupScriptArgs\n        {\n            InlineScript = @\"// Runs before every API check in this group\nconsole.log(\"\"Setting up...\"\")\n\",\n        },\n        TeardownScript = new Checkly.Inputs.CheckGroupV2TeardownScriptArgs\n        {\n            InlineScript = @\"// Runs after every API check in this group\nconsole.log(\"\"Tearing down...\"\")\n\",\n        },\n    });\n\n    // Example: enforce only retry strategy with network-error-only retries.\n    var retry_on_network_errors = new Checkly.CheckGroupV2(\"retry-on-network-errors\", new()\n    {\n        Name = \"Retry on Network Errors Only\",\n        EnforceRetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyArgs\n        {\n            Enabled = true,\n            RetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs\n            {\n                Type = \"EXPONENTIAL\",\n                BaseBackoffSeconds = 10,\n                MaxRetries = 5,\n                MaxDurationSeconds = 600,\n                SameRegion = false,\n                OnlyOn = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOnArgs\n                {\n                    NetworkError = true,\n                },\n            },\n        },\n    });\n\n    // Example: enforce time-based alert escalation.\n    var time_based_alerts = new Checkly.CheckGroupV2(\"time-based-alerts\", new()\n    {\n        Name = \"Time-Based Alert Escalation\",\n        EnforceAlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsArgs\n        {\n            Enabled = true,\n            AlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs\n            {\n                EscalationType = \"TIME_BASED\",\n                TimeBasedEscalations = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalationArgs\n                    {\n                        MinutesFailingThreshold = 10,\n                    },\n                },\n                Reminders = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs\n                    {\n                        Amount = 5,\n                        Interval = 15,\n                    },\n                },\n            },\n        },\n    });\n\n    // Example: use global alert settings instead of custom ones.\n    var use_global_alerts = new Checkly.CheckGroupV2(\"use-global-alerts\", new()\n    {\n        Name = \"Use Global Alert Settings\",\n        EnforceAlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsArgs\n        {\n            Enabled = true,\n            UseGlobalAlertSettings = true,\n        },\n    });\n\n    // Example: enforce alert channel subscriptions with custom alert settings.\n    var email = new Checkly.AlertChannel(\"email\", new()\n    {\n        Email = new Checkly.Inputs.AlertChannelEmailArgs\n        {\n            Address = \"alerts@example.com\",\n        },\n    });\n\n    var slack = new Checkly.AlertChannel(\"slack\", new()\n    {\n        Slack = new Checkly.Inputs.AlertChannelSlackArgs\n        {\n            Channel = \"#alerts\",\n            Url = \"https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\",\n        },\n    });\n\n    var with_alert_channels = new Checkly.CheckGroupV2(\"with-alert-channels\", new()\n    {\n        Name = \"Group with Alert Channels\",\n        EnforceAlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsArgs\n        {\n            Enabled = true,\n            AlertSettings = new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs\n            {\n                EscalationType = \"RUN_BASED\",\n                RunBasedEscalations = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs\n                    {\n                        FailedRunThreshold = 1,\n                    },\n                },\n                Reminders = new[]\n                {\n                    new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs\n                    {\n                        Amount = 0,\n                        Interval = 5,\n                    },\n                },\n            },\n            AlertChannelSubscriptions = new[]\n            {\n                new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs\n                {\n                    ChannelId = email.Id,\n                    Activated = true,\n                },\n                new Checkly.Inputs.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs\n                {\n                    ChannelId = slack.Id,\n                    Activated = true,\n                },\n            },\n        },\n    });\n\n    // Example: enforce no retries.\n    var no_retries = new Checkly.CheckGroupV2(\"no-retries\", new()\n    {\n        Name = \"No Retries Group\",\n        EnforceRetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyArgs\n        {\n            Enabled = true,\n            RetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs\n            {\n                Type = \"NO_RETRIES\",\n            },\n        },\n    });\n\n    // Example: enforce a single retry.\n    var single_retry = new Checkly.CheckGroupV2(\"single-retry\", new()\n    {\n        Name = \"Single Retry Group\",\n        EnforceRetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyArgs\n        {\n            Enabled = true,\n            RetryStrategy = new Checkly.Inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs\n            {\n                Type = \"SINGLE_RETRY\",\n                BaseBackoffSeconds = 10,\n                SameRegion = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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// Minimal example: just a folder to organize checks.\n\t\t_, err := checkly.NewCheckGroupV2(ctx, \"just-a-folder\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Just a Folder\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Full example: a group with enforced settings that override individual checks.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"production-api\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName:        pulumi.String(\"Production API\"),\n\t\t\tActivated:   pulumi.Bool(true),\n\t\t\tMuted:       pulumi.Bool(false),\n\t\t\tConcurrency: pulumi.Int(5),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t\tpulumi.String(\"api\"),\n\t\t\t},\n\t\t\tEnforceLocations: \u0026checkly.CheckGroupV2EnforceLocationsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tLocations: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"us-east-1\"),\n\t\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t\t\tpulumi.String(\"ap-southeast-1\"),\n\t\t\t\t},\n\t\t\t\tPrivateLocations: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"my-datacenter\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnforceRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs{\n\t\t\t\t\tType:               pulumi.String(\"LINEAR\"),\n\t\t\t\t\tBaseBackoffSeconds: pulumi.Int(30),\n\t\t\t\t\tMaxRetries:         pulumi.Int(3),\n\t\t\t\t\tMaxDurationSeconds: pulumi.Int(300),\n\t\t\t\t\tSameRegion:         pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnforceSchedulingStrategy: \u0026checkly.CheckGroupV2EnforceSchedulingStrategyArgs{\n\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\tRunParallel: pulumi.Bool(true),\n\t\t\t},\n\t\t\tEnforceAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs{\n\t\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\t\tRunBasedEscalations: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs{\n\t\t\t\t\t\t\tFailedRunThreshold: pulumi.Int(2),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReminders: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs{\n\t\t\t\t\t\t\tAmount:   pulumi.Int(3),\n\t\t\t\t\t\t\tInterval: pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tParallelRunFailureThresholds: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThresholdArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThresholdArgs{\n\t\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\t\tPercentage: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAlertChannelSubscriptions: checkly.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArray{\n\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs{\n\t\t\t\t\t\tChannelId: pulumi.Int(1234),\n\t\t\t\t\t\tActivated: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: checkly.CheckGroupV2EnvironmentVariableArray{\n\t\t\t\t\u0026checkly.CheckGroupV2EnvironmentVariableArgs{\n\t\t\t\t\tKey:    pulumi.String(\"BASE_URL\"),\n\t\t\t\t\tValue:  pulumi.String(\"https://api.example.com\"),\n\t\t\t\t\tLocked: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026checkly.CheckGroupV2EnvironmentVariableArgs{\n\t\t\t\t\tKey:    pulumi.String(\"API_TOKEN\"),\n\t\t\t\t\tValue:  pulumi.String(\"super-secret-token\"),\n\t\t\t\t\tLocked: pulumi.Bool(true),\n\t\t\t\t\tSecret: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaultRuntime: \u0026checkly.CheckGroupV2DefaultRuntimeArgs{\n\t\t\t\tRuntimeId: pulumi.String(\"2024.02\"),\n\t\t\t},\n\t\t\tApiCheckDefaults: \u0026checkly.CheckGroupV2ApiCheckDefaultsArgs{\n\t\t\t\tUrl: pulumi.String(\"https://api.example.com/\"),\n\t\t\t\tHeaders: pulumi.StringMap{\n\t\t\t\t\t\"X-Api-Key\":    pulumi.String(\"{{API_TOKEN}}\"),\n\t\t\t\t\t\"Content-Type\": pulumi.String(\"application/json\"),\n\t\t\t\t},\n\t\t\t\tQueryParameters: pulumi.StringMap{\n\t\t\t\t\t\"version\": pulumi.String(\"v2\"),\n\t\t\t\t},\n\t\t\t\tAssertions: checkly.CheckGroupV2ApiCheckDefaultsAssertionArray{\n\t\t\t\t\t\u0026checkly.CheckGroupV2ApiCheckDefaultsAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"STATUS_CODE\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"LESS_THAN\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"400\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026checkly.CheckGroupV2ApiCheckDefaultsAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_TIME\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"LESS_THAN\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"3000\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tBasicAuth: \u0026checkly.CheckGroupV2ApiCheckDefaultsBasicAuthArgs{\n\t\t\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSetupScript: \u0026checkly.CheckGroupV2SetupScriptArgs{\n\t\t\t\tInlineScript: pulumi.String(\"// Runs before every API check in this group\\nconsole.log(\\\"Setting up...\\\")\\n\"),\n\t\t\t},\n\t\t\tTeardownScript: \u0026checkly.CheckGroupV2TeardownScriptArgs{\n\t\t\t\tInlineScript: pulumi.String(\"// Runs after every API check in this group\\nconsole.log(\\\"Tearing down...\\\")\\n\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: enforce only retry strategy with network-error-only retries.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"retry-on-network-errors\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Retry on Network Errors Only\"),\n\t\t\tEnforceRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs{\n\t\t\t\t\tType:               pulumi.String(\"EXPONENTIAL\"),\n\t\t\t\t\tBaseBackoffSeconds: pulumi.Int(10),\n\t\t\t\t\tMaxRetries:         pulumi.Int(5),\n\t\t\t\t\tMaxDurationSeconds: pulumi.Int(600),\n\t\t\t\t\tSameRegion:         pulumi.Bool(false),\n\t\t\t\t\tOnlyOn: \u0026checkly.CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOnArgs{\n\t\t\t\t\t\tNetworkError: pulumi.Bool(true),\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\t// Example: enforce time-based alert escalation.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"time-based-alerts\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Time-Based Alert Escalation\"),\n\t\t\tEnforceAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs{\n\t\t\t\t\tEscalationType: pulumi.String(\"TIME_BASED\"),\n\t\t\t\t\tTimeBasedEscalations: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalationArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalationArgs{\n\t\t\t\t\t\t\tMinutesFailingThreshold: pulumi.Int(10),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReminders: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs{\n\t\t\t\t\t\t\tAmount:   pulumi.Int(5),\n\t\t\t\t\t\t\tInterval: pulumi.Int(15),\n\t\t\t\t\t\t},\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\t// Example: use global alert settings instead of custom ones.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"use-global-alerts\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Use Global Alert Settings\"),\n\t\t\tEnforceAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsArgs{\n\t\t\t\tEnabled:                pulumi.Bool(true),\n\t\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: enforce alert channel subscriptions with custom alert settings.\n\t\temail, err := checkly.NewAlertChannel(ctx, \"email\", \u0026checkly.AlertChannelArgs{\n\t\t\tEmail: \u0026checkly.AlertChannelEmailArgs{\n\t\t\t\tAddress: pulumi.String(\"alerts@example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tslack, err := checkly.NewAlertChannel(ctx, \"slack\", \u0026checkly.AlertChannelArgs{\n\t\t\tSlack: \u0026checkly.AlertChannelSlackArgs{\n\t\t\t\tChannel: pulumi.String(\"#alerts\"),\n\t\t\t\tUrl:     pulumi.String(\"https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"with-alert-channels\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Group with Alert Channels\"),\n\t\t\tEnforceAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tAlertSettings: \u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs{\n\t\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\t\tRunBasedEscalations: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs{\n\t\t\t\t\t\t\tFailedRunThreshold: pulumi.Int(1),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReminders: checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArray{\n\t\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs{\n\t\t\t\t\t\t\tAmount:   pulumi.Int(0),\n\t\t\t\t\t\t\tInterval: pulumi.Int(5),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tAlertChannelSubscriptions: checkly.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArray{\n\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs{\n\t\t\t\t\t\tChannelId: email.ID(),\n\t\t\t\t\t\tActivated: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026checkly.CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs{\n\t\t\t\t\t\tChannelId: slack.ID(),\n\t\t\t\t\t\tActivated: pulumi.Bool(true),\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\t// Example: enforce no retries.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"no-retries\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"No Retries Group\"),\n\t\t\tEnforceRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs{\n\t\t\t\t\tType: pulumi.String(\"NO_RETRIES\"),\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\t// Example: enforce a single retry.\n\t\t_, err = checkly.NewCheckGroupV2(ctx, \"single-retry\", \u0026checkly.CheckGroupV2Args{\n\t\t\tName: pulumi.String(\"Single Retry Group\"),\n\t\t\tEnforceRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRetryStrategy: \u0026checkly.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs{\n\t\t\t\t\tType:               pulumi.String(\"SINGLE_RETRY\"),\n\t\t\t\t\tBaseBackoffSeconds: pulumi.Int(10),\n\t\t\t\t\tSameRegion:         pulumi.Bool(true),\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.checkly.CheckGroupV2;\nimport com.pulumi.checkly.CheckGroupV2Args;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceLocationsArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceRetryStrategyArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceSchedulingStrategyArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceAlertSettingsArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceAlertSettingsAlertSettingsArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnvironmentVariableArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2DefaultRuntimeArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2ApiCheckDefaultsArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2ApiCheckDefaultsBasicAuthArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2SetupScriptArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2TeardownScriptArgs;\nimport com.pulumi.checkly.inputs.CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOnArgs;\nimport com.pulumi.checkly.AlertChannel;\nimport com.pulumi.checkly.AlertChannelArgs;\nimport com.pulumi.checkly.inputs.AlertChannelEmailArgs;\nimport com.pulumi.checkly.inputs.AlertChannelSlackArgs;\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        // Minimal example: just a folder to organize checks.\n        var just_a_folder = new CheckGroupV2(\"just-a-folder\", CheckGroupV2Args.builder()\n            .name(\"Just a Folder\")\n            .build());\n\n        // Full example: a group with enforced settings that override individual checks.\n        var production_api = new CheckGroupV2(\"production-api\", CheckGroupV2Args.builder()\n            .name(\"Production API\")\n            .activated(true)\n            .muted(false)\n            .concurrency(5)\n            .tags(            \n                \"production\",\n                \"api\")\n            .enforceLocations(CheckGroupV2EnforceLocationsArgs.builder()\n                .enabled(true)\n                .locations(                \n                    \"us-east-1\",\n                    \"eu-west-1\",\n                    \"ap-southeast-1\")\n                .privateLocations(\"my-datacenter\")\n                .build())\n            .enforceRetryStrategy(CheckGroupV2EnforceRetryStrategyArgs.builder()\n                .enabled(true)\n                .retryStrategy(CheckGroupV2EnforceRetryStrategyRetryStrategyArgs.builder()\n                    .type(\"LINEAR\")\n                    .baseBackoffSeconds(30)\n                    .maxRetries(3)\n                    .maxDurationSeconds(300)\n                    .sameRegion(true)\n                    .build())\n                .build())\n            .enforceSchedulingStrategy(CheckGroupV2EnforceSchedulingStrategyArgs.builder()\n                .enabled(true)\n                .runParallel(true)\n                .build())\n            .enforceAlertSettings(CheckGroupV2EnforceAlertSettingsArgs.builder()\n                .enabled(true)\n                .alertSettings(CheckGroupV2EnforceAlertSettingsAlertSettingsArgs.builder()\n                    .escalationType(\"RUN_BASED\")\n                    .runBasedEscalations(CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs.builder()\n                        .failedRunThreshold(2)\n                        .build())\n                    .reminders(CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs.builder()\n                        .amount(3)\n                        .interval(10)\n                        .build())\n                    .parallelRunFailureThresholds(CheckGroupV2EnforceAlertSettingsAlertSettingsParallelRunFailureThresholdArgs.builder()\n                        .enabled(true)\n                        .percentage(50)\n                        .build())\n                    .build())\n                .alertChannelSubscriptions(CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs.builder()\n                    .channelId(1234)\n                    .activated(true)\n                    .build())\n                .build())\n            .environmentVariables(            \n                CheckGroupV2EnvironmentVariableArgs.builder()\n                    .key(\"BASE_URL\")\n                    .value(\"https://api.example.com\")\n                    .locked(false)\n                    .build(),\n                CheckGroupV2EnvironmentVariableArgs.builder()\n                    .key(\"API_TOKEN\")\n                    .value(\"super-secret-token\")\n                    .locked(true)\n                    .secret(true)\n                    .build())\n            .defaultRuntime(CheckGroupV2DefaultRuntimeArgs.builder()\n                .runtimeId(\"2024.02\")\n                .build())\n            .apiCheckDefaults(CheckGroupV2ApiCheckDefaultsArgs.builder()\n                .url(\"https://api.example.com/\")\n                .headers(Map.ofEntries(\n                    Map.entry(\"X-Api-Key\", \"{{API_TOKEN}}\"),\n                    Map.entry(\"Content-Type\", \"application/json\")\n                ))\n                .queryParameters(Map.of(\"version\", \"v2\"))\n                .assertions(                \n                    CheckGroupV2ApiCheckDefaultsAssertionArgs.builder()\n                        .source(\"STATUS_CODE\")\n                        .comparison(\"LESS_THAN\")\n                        .target(\"400\")\n                        .build(),\n                    CheckGroupV2ApiCheckDefaultsAssertionArgs.builder()\n                        .source(\"RESPONSE_TIME\")\n                        .comparison(\"LESS_THAN\")\n                        .target(\"3000\")\n                        .build())\n                .basicAuth(CheckGroupV2ApiCheckDefaultsBasicAuthArgs.builder()\n                    .username(\"admin\")\n                    .password(\"pass\")\n                    .build())\n                .build())\n            .setupScript(CheckGroupV2SetupScriptArgs.builder()\n                .inlineScript(\"\"\"\n// Runs before every API check in this group\nconsole.log(\"Setting up...\")\n                \"\"\")\n                .build())\n            .teardownScript(CheckGroupV2TeardownScriptArgs.builder()\n                .inlineScript(\"\"\"\n// Runs after every API check in this group\nconsole.log(\"Tearing down...\")\n                \"\"\")\n                .build())\n            .build());\n\n        // Example: enforce only retry strategy with network-error-only retries.\n        var retry_on_network_errors = new CheckGroupV2(\"retry-on-network-errors\", CheckGroupV2Args.builder()\n            .name(\"Retry on Network Errors Only\")\n            .enforceRetryStrategy(CheckGroupV2EnforceRetryStrategyArgs.builder()\n                .enabled(true)\n                .retryStrategy(CheckGroupV2EnforceRetryStrategyRetryStrategyArgs.builder()\n                    .type(\"EXPONENTIAL\")\n                    .baseBackoffSeconds(10)\n                    .maxRetries(5)\n                    .maxDurationSeconds(600)\n                    .sameRegion(false)\n                    .onlyOn(CheckGroupV2EnforceRetryStrategyRetryStrategyOnlyOnArgs.builder()\n                        .networkError(true)\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Example: enforce time-based alert escalation.\n        var time_based_alerts = new CheckGroupV2(\"time-based-alerts\", CheckGroupV2Args.builder()\n            .name(\"Time-Based Alert Escalation\")\n            .enforceAlertSettings(CheckGroupV2EnforceAlertSettingsArgs.builder()\n                .enabled(true)\n                .alertSettings(CheckGroupV2EnforceAlertSettingsAlertSettingsArgs.builder()\n                    .escalationType(\"TIME_BASED\")\n                    .timeBasedEscalations(CheckGroupV2EnforceAlertSettingsAlertSettingsTimeBasedEscalationArgs.builder()\n                        .minutesFailingThreshold(10)\n                        .build())\n                    .reminders(CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs.builder()\n                        .amount(5)\n                        .interval(15)\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Example: use global alert settings instead of custom ones.\n        var use_global_alerts = new CheckGroupV2(\"use-global-alerts\", CheckGroupV2Args.builder()\n            .name(\"Use Global Alert Settings\")\n            .enforceAlertSettings(CheckGroupV2EnforceAlertSettingsArgs.builder()\n                .enabled(true)\n                .useGlobalAlertSettings(true)\n                .build())\n            .build());\n\n        // Example: enforce alert channel subscriptions with custom alert settings.\n        var email = new AlertChannel(\"email\", AlertChannelArgs.builder()\n            .email(AlertChannelEmailArgs.builder()\n                .address(\"alerts@example.com\")\n                .build())\n            .build());\n\n        var slack = new AlertChannel(\"slack\", AlertChannelArgs.builder()\n            .slack(AlertChannelSlackArgs.builder()\n                .channel(\"#alerts\")\n                .url(\"https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\")\n                .build())\n            .build());\n\n        var with_alert_channels = new CheckGroupV2(\"with-alert-channels\", CheckGroupV2Args.builder()\n            .name(\"Group with Alert Channels\")\n            .enforceAlertSettings(CheckGroupV2EnforceAlertSettingsArgs.builder()\n                .enabled(true)\n                .alertSettings(CheckGroupV2EnforceAlertSettingsAlertSettingsArgs.builder()\n                    .escalationType(\"RUN_BASED\")\n                    .runBasedEscalations(CheckGroupV2EnforceAlertSettingsAlertSettingsRunBasedEscalationArgs.builder()\n                        .failedRunThreshold(1)\n                        .build())\n                    .reminders(CheckGroupV2EnforceAlertSettingsAlertSettingsReminderArgs.builder()\n                        .amount(0)\n                        .interval(5)\n                        .build())\n                    .build())\n                .alertChannelSubscriptions(                \n                    CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs.builder()\n                        .channelId(email.id())\n                        .activated(true)\n                        .build(),\n                    CheckGroupV2EnforceAlertSettingsAlertChannelSubscriptionArgs.builder()\n                        .channelId(slack.id())\n                        .activated(true)\n                        .build())\n                .build())\n            .build());\n\n        // Example: enforce no retries.\n        var no_retries = new CheckGroupV2(\"no-retries\", CheckGroupV2Args.builder()\n            .name(\"No Retries Group\")\n            .enforceRetryStrategy(CheckGroupV2EnforceRetryStrategyArgs.builder()\n                .enabled(true)\n                .retryStrategy(CheckGroupV2EnforceRetryStrategyRetryStrategyArgs.builder()\n                    .type(\"NO_RETRIES\")\n                    .build())\n                .build())\n            .build());\n\n        // Example: enforce a single retry.\n        var single_retry = new CheckGroupV2(\"single-retry\", CheckGroupV2Args.builder()\n            .name(\"Single Retry Group\")\n            .enforceRetryStrategy(CheckGroupV2EnforceRetryStrategyArgs.builder()\n                .enabled(true)\n                .retryStrategy(CheckGroupV2EnforceRetryStrategyRetryStrategyArgs.builder()\n                    .type(\"SINGLE_RETRY\")\n                    .baseBackoffSeconds(10)\n                    .sameRegion(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Minimal example: just a folder to organize checks.\n  just-a-folder:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Just a Folder\n  # Full example: a group with enforced settings that override individual checks.\n  production-api:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Production API\n      activated: true\n      muted: false\n      concurrency: 5\n      tags:\n        - production\n        - api\n      enforceLocations:\n        enabled: true\n        locations:\n          - us-east-1\n          - eu-west-1\n          - ap-southeast-1\n        privateLocations:\n          - my-datacenter\n      enforceRetryStrategy:\n        enabled: true\n        retryStrategy:\n          type: LINEAR\n          baseBackoffSeconds: 30\n          maxRetries: 3\n          maxDurationSeconds: 300\n          sameRegion: true\n      enforceSchedulingStrategy:\n        enabled: true\n        runParallel: true\n      enforceAlertSettings:\n        enabled: true\n        alertSettings:\n          escalationType: RUN_BASED\n          runBasedEscalations:\n            - failedRunThreshold: 2\n          reminders:\n            - amount: 3\n              interval: 10\n          parallelRunFailureThresholds:\n            - enabled: true\n              percentage: 50\n        alertChannelSubscriptions:\n          - channelId: 1234\n            activated: true\n      environmentVariables:\n        - key: BASE_URL\n          value: https://api.example.com\n          locked: false\n        - key: API_TOKEN\n          value: super-secret-token\n          locked: true\n          secret: true\n      defaultRuntime:\n        runtimeId: '2024.02'\n      apiCheckDefaults:\n        url: https://api.example.com/\n        headers:\n          X-Api-Key: '{{API_TOKEN}}'\n          Content-Type: application/json\n        queryParameters:\n          version: v2\n        assertions:\n          - source: STATUS_CODE\n            comparison: LESS_THAN\n            target: '400'\n          - source: RESPONSE_TIME\n            comparison: LESS_THAN\n            target: '3000'\n        basicAuth:\n          username: admin\n          password: pass\n      setupScript:\n        inlineScript: |\n          // Runs before every API check in this group\n          console.log(\"Setting up...\")\n      teardownScript:\n        inlineScript: |\n          // Runs after every API check in this group\n          console.log(\"Tearing down...\")\n  # Example: enforce only retry strategy with network-error-only retries.\n  retry-on-network-errors:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Retry on Network Errors Only\n      enforceRetryStrategy:\n        enabled: true\n        retryStrategy:\n          type: EXPONENTIAL\n          baseBackoffSeconds: 10\n          maxRetries: 5\n          maxDurationSeconds: 600\n          sameRegion: false\n          onlyOn:\n            networkError: true\n  # Example: enforce time-based alert escalation.\n  time-based-alerts:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Time-Based Alert Escalation\n      enforceAlertSettings:\n        enabled: true\n        alertSettings:\n          escalationType: TIME_BASED\n          timeBasedEscalations:\n            - minutesFailingThreshold: 10\n          reminders:\n            - amount: 5\n              interval: 15\n  # Example: use global alert settings instead of custom ones.\n  use-global-alerts:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Use Global Alert Settings\n      enforceAlertSettings:\n        enabled: true\n        useGlobalAlertSettings: true\n  # Example: enforce alert channel subscriptions with custom alert settings.\n  email:\n    type: checkly:AlertChannel\n    properties:\n      email:\n        address: alerts@example.com\n  slack:\n    type: checkly:AlertChannel\n    properties:\n      slack:\n        channel: '#alerts'\n        url: https://hooks.slack.com/services/TXXXXX/XXXXX/XXXXXXXXXX\n  with-alert-channels:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Group with Alert Channels\n      enforceAlertSettings:\n        enabled: true\n        alertSettings:\n          escalationType: RUN_BASED\n          runBasedEscalations:\n            - failedRunThreshold: 1\n          reminders:\n            - amount: 0\n              interval: 5\n        alertChannelSubscriptions:\n          - channelId: ${email.id}\n            activated: true\n          - channelId: ${slack.id}\n            activated: true\n  # Example: enforce no retries.\n  no-retries:\n    type: checkly:CheckGroupV2\n    properties:\n      name: No Retries Group\n      enforceRetryStrategy:\n        enabled: true\n        retryStrategy:\n          type: NO_RETRIES\n  # Example: enforce a single retry.\n  single-retry:\n    type: checkly:CheckGroupV2\n    properties:\n      name: Single Retry Group\n      enforceRetryStrategy:\n        enabled: true\n        retryStrategy:\n          type: SINGLE_RETRY\n          baseBackoffSeconds: 10\n          sameRegion: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines whether activated checks in the group should run or not. Deactivating the group will prevent all checks in the group from running, regardless of their activated state. (Default `true`).\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupV2ApiCheckDefaults:CheckGroupV2ApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines the number of checks to run concurrently when triggering the check group via CI/CD or the API. (Default `1`).\n"},"defaultRuntime":{"$ref":"#/types/checkly:index/CheckGroupV2DefaultRuntime:CheckGroupV2DefaultRuntime","description":"Sets a default runtime for the group. Used as a fallback when a check belonging to the group has no runtime set. Takes precedence over the account default runtime.\n"},"enforceAlertSettings":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettings:CheckGroupV2EnforceAlertSettings","description":"Enforces alert settings for the whole group. Overrides check configuration.\n"},"enforceLocations":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceLocations:CheckGroupV2EnforceLocations","description":"Enforces public and private locations for the whole group. Overrides check configuration.\n"},"enforceRetryStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceRetryStrategy:CheckGroupV2EnforceRetryStrategy","description":"Enforces a retry strategy for the whole group. Overrides check configuration.\n"},"enforceSchedulingStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceSchedulingStrategy:CheckGroupV2EnforceSchedulingStrategy","description":"Enforces a scheduling strategy for the whole group. Overrides check configuration.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnvironmentVariable:CheckGroupV2EnvironmentVariable"},"description":"Insert environment variables into the runtime environment of checks in the group. Only relevant for check types that support environment variables. Use global environment variables whenever possible.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers. Muting the group will deactivate all notifications for all checks in the group, regardless of their muted state. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check group.\n"},"setupScript":{"$ref":"#/types/checkly:index/CheckGroupV2SetupScript:CheckGroupV2SetupScript","description":"A script to run in the setup phase of an API check. Runs in addition to the check's own setup script.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Additional tags to append to all checks in the group.\n"},"teardownScript":{"$ref":"#/types/checkly:index/CheckGroupV2TeardownScript:CheckGroupV2TeardownScript","description":"A script to run in the teardown phase of an API check. Runs in addition to the check's own teardown script.\n"}},"required":["apiCheckDefaults","enforceAlertSettings","enforceLocations","enforceRetryStrategy","enforceSchedulingStrategy","name"],"inputProperties":{"activated":{"type":"boolean","description":"Determines whether activated checks in the group should run or not. Deactivating the group will prevent all checks in the group from running, regardless of their activated state. (Default `true`).\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupV2ApiCheckDefaults:CheckGroupV2ApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines the number of checks to run concurrently when triggering the check group via CI/CD or the API. (Default `1`).\n"},"defaultRuntime":{"$ref":"#/types/checkly:index/CheckGroupV2DefaultRuntime:CheckGroupV2DefaultRuntime","description":"Sets a default runtime for the group. Used as a fallback when a check belonging to the group has no runtime set. Takes precedence over the account default runtime.\n"},"enforceAlertSettings":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettings:CheckGroupV2EnforceAlertSettings","description":"Enforces alert settings for the whole group. Overrides check configuration.\n"},"enforceLocations":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceLocations:CheckGroupV2EnforceLocations","description":"Enforces public and private locations for the whole group. Overrides check configuration.\n"},"enforceRetryStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceRetryStrategy:CheckGroupV2EnforceRetryStrategy","description":"Enforces a retry strategy for the whole group. Overrides check configuration.\n"},"enforceSchedulingStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceSchedulingStrategy:CheckGroupV2EnforceSchedulingStrategy","description":"Enforces a scheduling strategy for the whole group. Overrides check configuration.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnvironmentVariable:CheckGroupV2EnvironmentVariable"},"description":"Insert environment variables into the runtime environment of checks in the group. Only relevant for check types that support environment variables. Use global environment variables whenever possible.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers. Muting the group will deactivate all notifications for all checks in the group, regardless of their muted state. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check group.\n"},"setupScript":{"$ref":"#/types/checkly:index/CheckGroupV2SetupScript:CheckGroupV2SetupScript","description":"A script to run in the setup phase of an API check. Runs in addition to the check's own setup script.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Additional tags to append to all checks in the group.\n"},"teardownScript":{"$ref":"#/types/checkly:index/CheckGroupV2TeardownScript:CheckGroupV2TeardownScript","description":"A script to run in the teardown phase of an API check. Runs in addition to the check's own teardown script.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering CheckGroupV2 resources.\n","properties":{"activated":{"type":"boolean","description":"Determines whether activated checks in the group should run or not. Deactivating the group will prevent all checks in the group from running, regardless of their activated state. (Default `true`).\n"},"apiCheckDefaults":{"$ref":"#/types/checkly:index/CheckGroupV2ApiCheckDefaults:CheckGroupV2ApiCheckDefaults"},"concurrency":{"type":"integer","description":"Determines the number of checks to run concurrently when triggering the check group via CI/CD or the API. (Default `1`).\n"},"defaultRuntime":{"$ref":"#/types/checkly:index/CheckGroupV2DefaultRuntime:CheckGroupV2DefaultRuntime","description":"Sets a default runtime for the group. Used as a fallback when a check belonging to the group has no runtime set. Takes precedence over the account default runtime.\n"},"enforceAlertSettings":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceAlertSettings:CheckGroupV2EnforceAlertSettings","description":"Enforces alert settings for the whole group. Overrides check configuration.\n"},"enforceLocations":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceLocations:CheckGroupV2EnforceLocations","description":"Enforces public and private locations for the whole group. Overrides check configuration.\n"},"enforceRetryStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceRetryStrategy:CheckGroupV2EnforceRetryStrategy","description":"Enforces a retry strategy for the whole group. Overrides check configuration.\n"},"enforceSchedulingStrategy":{"$ref":"#/types/checkly:index/CheckGroupV2EnforceSchedulingStrategy:CheckGroupV2EnforceSchedulingStrategy","description":"Enforces a scheduling strategy for the whole group. Overrides check configuration.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/CheckGroupV2EnvironmentVariable:CheckGroupV2EnvironmentVariable"},"description":"Insert environment variables into the runtime environment of checks in the group. Only relevant for check types that support environment variables. Use global environment variables whenever possible.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check in this group fails and/or recovers. Muting the group will deactivate all notifications for all checks in the group, regardless of their muted state. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check group.\n"},"setupScript":{"$ref":"#/types/checkly:index/CheckGroupV2SetupScript:CheckGroupV2SetupScript","description":"A script to run in the setup phase of an API check. Runs in addition to the check's own setup script.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Additional tags to append to all checks in the group.\n"},"teardownScript":{"$ref":"#/types/checkly:index/CheckGroupV2TeardownScript:CheckGroupV2TeardownScript","description":"A script to run in the teardown phase of an API check. Runs in addition to the check's own teardown script.\n"}},"type":"object"}},"checkly:index/clientCertificate:ClientCertificate":{"description":"Use client certificates to authenticate your API checks to APIs that require mutual TLS (mTLS) authentication, or any other authentication scheme where the requester needs to provide a certificate.\n\nEach client certificate is specific to a domain name, e.g. `acme.com` and will be used automatically by any API checks targeting that domain.\n\nChanging the value of any attribute forces a new resource to be created.\n\n","properties":{"certificate":{"type":"string","description":"The client certificate in PEM format.\n"},"host":{"type":"string","description":"The host domain that the certificate should be used for.\n"},"passphrase":{"type":"string","description":"Passphrase for the private key.\n","secret":true},"privateKey":{"type":"string","description":"The private key for the certificate in PEM format.\n"},"trustedCa":{"type":"string","description":"PEM formatted bundle of CA certificates that the client should trust. The bundle may contain many CA certificates.\n"}},"required":["certificate","host","privateKey"],"inputProperties":{"certificate":{"type":"string","description":"The client certificate in PEM format.\n","willReplaceOnChanges":true},"host":{"type":"string","description":"The host domain that the certificate should be used for.\n","willReplaceOnChanges":true},"passphrase":{"type":"string","description":"Passphrase for the private key.\n","secret":true,"willReplaceOnChanges":true},"privateKey":{"type":"string","description":"The private key for the certificate in PEM format.\n","willReplaceOnChanges":true},"trustedCa":{"type":"string","description":"PEM formatted bundle of CA certificates that the client should trust. The bundle may contain many CA certificates.\n","willReplaceOnChanges":true}},"requiredInputs":["certificate","host","privateKey"],"stateInputs":{"description":"Input properties used for looking up and filtering ClientCertificate resources.\n","properties":{"certificate":{"type":"string","description":"The client certificate in PEM format.\n","willReplaceOnChanges":true},"host":{"type":"string","description":"The host domain that the certificate should be used for.\n","willReplaceOnChanges":true},"passphrase":{"type":"string","description":"Passphrase for the private key.\n","secret":true,"willReplaceOnChanges":true},"privateKey":{"type":"string","description":"The private key for the certificate in PEM format.\n","willReplaceOnChanges":true},"trustedCa":{"type":"string","description":"PEM formatted bundle of CA certificates that the client should trust. The bundle may contain many CA certificates.\n","willReplaceOnChanges":true}},"type":"object"}},"checkly:index/dashboard:Dashboard":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst dashboard1 = new checkly.Dashboard(\"dashboard_1\", {\n    customUrl: \"checkly\",\n    customDomain: \"status.example.com\",\n    logo: \"https://www.checklyhq.com/logo.png\",\n    header: \"Public dashboard\",\n    refreshRate: 60,\n    paginate: false,\n    paginationRate: 30,\n    hideTags: false,\n    width: \"FULL\",\n    tags: [\"production\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\ndashboard1 = checkly.Dashboard(\"dashboard_1\",\n    custom_url=\"checkly\",\n    custom_domain=\"status.example.com\",\n    logo=\"https://www.checklyhq.com/logo.png\",\n    header=\"Public dashboard\",\n    refresh_rate=60,\n    paginate=False,\n    pagination_rate=30,\n    hide_tags=False,\n    width=\"FULL\",\n    tags=[\"production\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dashboard1 = new Checkly.Dashboard(\"dashboard_1\", new()\n    {\n        CustomUrl = \"checkly\",\n        CustomDomain = \"status.example.com\",\n        Logo = \"https://www.checklyhq.com/logo.png\",\n        Header = \"Public dashboard\",\n        RefreshRate = 60,\n        Paginate = false,\n        PaginationRate = 30,\n        HideTags = false,\n        Width = \"FULL\",\n        Tags = new[]\n        {\n            \"production\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewDashboard(ctx, \"dashboard_1\", \u0026checkly.DashboardArgs{\n\t\t\tCustomUrl:      pulumi.String(\"checkly\"),\n\t\t\tCustomDomain:   pulumi.String(\"status.example.com\"),\n\t\t\tLogo:           pulumi.String(\"https://www.checklyhq.com/logo.png\"),\n\t\t\tHeader:         pulumi.String(\"Public dashboard\"),\n\t\t\tRefreshRate:    pulumi.Int(60),\n\t\t\tPaginate:       pulumi.Bool(false),\n\t\t\tPaginationRate: pulumi.Int(30),\n\t\t\tHideTags:       pulumi.Bool(false),\n\t\t\tWidth:          pulumi.String(\"FULL\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\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.checkly.Dashboard;\nimport com.pulumi.checkly.DashboardArgs;\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 dashboard1 = new Dashboard(\"dashboard1\", DashboardArgs.builder()\n            .customUrl(\"checkly\")\n            .customDomain(\"status.example.com\")\n            .logo(\"https://www.checklyhq.com/logo.png\")\n            .header(\"Public dashboard\")\n            .refreshRate(60)\n            .paginate(false)\n            .paginationRate(30)\n            .hideTags(false)\n            .width(\"FULL\")\n            .tags(\"production\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dashboard1:\n    type: checkly:Dashboard\n    name: dashboard_1\n    properties:\n      customUrl: checkly\n      customDomain: status.example.com\n      logo: https://www.checklyhq.com/logo.png\n      header: Public dashboard\n      refreshRate: 60\n      paginate: false\n      paginationRate: 30\n      hideTags: false\n      width: FULL\n      tags:\n        - production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checksPerPage":{"type":"integer","description":"Determines how many checks to show per page. Possible values are between 1 and 20. (Default `15`).\n"},"customCss":{"type":"string","description":"Custom CSS to be applied to the dashboard.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. 'status.example.com'. See the docs on updating your DNS and SSL usage.\n"},"customUrl":{"type":"string","description":"A subdomain name under 'checklyhq.com'. Needs to be unique across all users.\n"},"description":{"type":"string","description":"HTML \\n\\n description for the dashboard.\n"},"enableIncidents":{"type":"boolean","description":"Enable incident support for the dashboard. (Default `false`).\n"},"expandChecks":{"type":"boolean","description":"Expand or collapse checks on the dashboard. (Default `false`).\n"},"favicon":{"type":"string","description":"A URL pointing to an image file to use as browser favicon.\n"},"header":{"type":"string","description":"A piece of text displayed at the top of your dashboard.\n"},"hideTags":{"type":"boolean","description":"Show or hide the tags on the dashboard. (Default `false`).\n"},"isPrivate":{"type":"boolean","description":"Set your dashboard as private and generate key.\n"},"key":{"type":"string","description":"The access key when the dashboard is private.\n","secret":true},"link":{"type":"string","description":"A link to for the dashboard logo.\n"},"logo":{"type":"string","description":"A URL pointing to an image file to use for the dashboard logo.\n"},"paginate":{"type":"boolean","description":"Determines if pagination is on or off. (Default `true`).\n"},"paginationRate":{"type":"integer","description":"How often to trigger pagination in seconds. Possible values `30`, `60` and `300`. (Default `60`).\n"},"refreshRate":{"type":"integer","description":"How often to refresh the dashboard in seconds. Possible values `60`, '300' and `600`. (Default `60`).\n"},"showCheckRunLinks":{"type":"boolean","description":"Show or hide check run links on the dashboard. (Default `false`).\n"},"showHeader":{"type":"boolean","description":"Show or hide header and description on the dashboard. (Default `true`).\n"},"showP95":{"type":"boolean","description":"Show or hide the P95 stats on the dashboard. (Default `true`).\n"},"showP99":{"type":"boolean","description":"Show or hide the P99 stats on the dashboard. (Default `true`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of one or more tags that filter which checks to display on the dashboard.\n"},"useTagsAndOperator":{"type":"boolean","description":"Set when to use AND operator for fetching dashboard tags. (Default `false`).\n"},"width":{"type":"string","description":"Determines whether to use the full screen or focus in the center. Possible values are `FULL` and `960PX`. (Default `FULL`).\n"}},"required":["customUrl","header","key"],"inputProperties":{"checksPerPage":{"type":"integer","description":"Determines how many checks to show per page. Possible values are between 1 and 20. (Default `15`).\n"},"customCss":{"type":"string","description":"Custom CSS to be applied to the dashboard.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. 'status.example.com'. See the docs on updating your DNS and SSL usage.\n"},"customUrl":{"type":"string","description":"A subdomain name under 'checklyhq.com'. Needs to be unique across all users.\n"},"description":{"type":"string","description":"HTML \\n\\n description for the dashboard.\n"},"enableIncidents":{"type":"boolean","description":"Enable incident support for the dashboard. (Default `false`).\n"},"expandChecks":{"type":"boolean","description":"Expand or collapse checks on the dashboard. (Default `false`).\n"},"favicon":{"type":"string","description":"A URL pointing to an image file to use as browser favicon.\n"},"header":{"type":"string","description":"A piece of text displayed at the top of your dashboard.\n"},"hideTags":{"type":"boolean","description":"Show or hide the tags on the dashboard. (Default `false`).\n"},"isPrivate":{"type":"boolean","description":"Set your dashboard as private and generate key.\n"},"link":{"type":"string","description":"A link to for the dashboard logo.\n"},"logo":{"type":"string","description":"A URL pointing to an image file to use for the dashboard logo.\n"},"paginate":{"type":"boolean","description":"Determines if pagination is on or off. (Default `true`).\n"},"paginationRate":{"type":"integer","description":"How often to trigger pagination in seconds. Possible values `30`, `60` and `300`. (Default `60`).\n"},"refreshRate":{"type":"integer","description":"How often to refresh the dashboard in seconds. Possible values `60`, '300' and `600`. (Default `60`).\n"},"showCheckRunLinks":{"type":"boolean","description":"Show or hide check run links on the dashboard. (Default `false`).\n"},"showHeader":{"type":"boolean","description":"Show or hide header and description on the dashboard. (Default `true`).\n"},"showP95":{"type":"boolean","description":"Show or hide the P95 stats on the dashboard. (Default `true`).\n"},"showP99":{"type":"boolean","description":"Show or hide the P99 stats on the dashboard. (Default `true`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of one or more tags that filter which checks to display on the dashboard.\n"},"useTagsAndOperator":{"type":"boolean","description":"Set when to use AND operator for fetching dashboard tags. (Default `false`).\n"},"width":{"type":"string","description":"Determines whether to use the full screen or focus in the center. Possible values are `FULL` and `960PX`. (Default `FULL`).\n"}},"requiredInputs":["customUrl","header"],"stateInputs":{"description":"Input properties used for looking up and filtering Dashboard resources.\n","properties":{"checksPerPage":{"type":"integer","description":"Determines how many checks to show per page. Possible values are between 1 and 20. (Default `15`).\n"},"customCss":{"type":"string","description":"Custom CSS to be applied to the dashboard.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. 'status.example.com'. See the docs on updating your DNS and SSL usage.\n"},"customUrl":{"type":"string","description":"A subdomain name under 'checklyhq.com'. Needs to be unique across all users.\n"},"description":{"type":"string","description":"HTML \\n\\n description for the dashboard.\n"},"enableIncidents":{"type":"boolean","description":"Enable incident support for the dashboard. (Default `false`).\n"},"expandChecks":{"type":"boolean","description":"Expand or collapse checks on the dashboard. (Default `false`).\n"},"favicon":{"type":"string","description":"A URL pointing to an image file to use as browser favicon.\n"},"header":{"type":"string","description":"A piece of text displayed at the top of your dashboard.\n"},"hideTags":{"type":"boolean","description":"Show or hide the tags on the dashboard. (Default `false`).\n"},"isPrivate":{"type":"boolean","description":"Set your dashboard as private and generate key.\n"},"key":{"type":"string","description":"The access key when the dashboard is private.\n","secret":true},"link":{"type":"string","description":"A link to for the dashboard logo.\n"},"logo":{"type":"string","description":"A URL pointing to an image file to use for the dashboard logo.\n"},"paginate":{"type":"boolean","description":"Determines if pagination is on or off. (Default `true`).\n"},"paginationRate":{"type":"integer","description":"How often to trigger pagination in seconds. Possible values `30`, `60` and `300`. (Default `60`).\n"},"refreshRate":{"type":"integer","description":"How often to refresh the dashboard in seconds. Possible values `60`, '300' and `600`. (Default `60`).\n"},"showCheckRunLinks":{"type":"boolean","description":"Show or hide check run links on the dashboard. (Default `false`).\n"},"showHeader":{"type":"boolean","description":"Show or hide header and description on the dashboard. (Default `true`).\n"},"showP95":{"type":"boolean","description":"Show or hide the P95 stats on the dashboard. (Default `true`).\n"},"showP99":{"type":"boolean","description":"Show or hide the P99 stats on the dashboard. (Default `true`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of one or more tags that filter which checks to display on the dashboard.\n"},"useTagsAndOperator":{"type":"boolean","description":"Set when to use AND operator for fetching dashboard tags. (Default `false`).\n"},"width":{"type":"string","description":"Determines whether to use the full screen or focus in the center. Possible values are `FULL` and `960PX`. (Default `FULL`).\n"}},"type":"object"}},"checkly:index/dnsMonitor:DnsMonitor":{"description":"Creates a DNS Monitor to check DNS record availability and response times.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example_dns_monitor = new checkly.DnsMonitor(\"example-dns-monitor\", {\n    name: \"Example DNS monitor\",\n    activated: true,\n    frequency: 2,\n    useGlobalAlertSettings: true,\n    locations: [\"eu-west-1\"],\n    request: {\n        recordType: \"A\",\n        query: \"welcome.checklyhq.com\",\n        nameServer: {\n            host: \"1.1.1.1\",\n            port: 53,\n        },\n        assertions: [{\n            source: \"RESPONSE_CODE\",\n            comparison: \"EQUALS\",\n            target: \"NOERROR\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample_dns_monitor = checkly.DnsMonitor(\"example-dns-monitor\",\n    name=\"Example DNS monitor\",\n    activated=True,\n    frequency=2,\n    use_global_alert_settings=True,\n    locations=[\"eu-west-1\"],\n    request={\n        \"record_type\": \"A\",\n        \"query\": \"welcome.checklyhq.com\",\n        \"name_server\": {\n            \"host\": \"1.1.1.1\",\n            \"port\": 53,\n        },\n        \"assertions\": [{\n            \"source\": \"RESPONSE_CODE\",\n            \"comparison\": \"EQUALS\",\n            \"target\": \"NOERROR\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_dns_monitor = new Checkly.DnsMonitor(\"example-dns-monitor\", new()\n    {\n        Name = \"Example DNS monitor\",\n        Activated = true,\n        Frequency = 2,\n        UseGlobalAlertSettings = true,\n        Locations = new[]\n        {\n            \"eu-west-1\",\n        },\n        Request = new Checkly.Inputs.DnsMonitorRequestArgs\n        {\n            RecordType = \"A\",\n            Query = \"welcome.checklyhq.com\",\n            NameServer = new Checkly.Inputs.DnsMonitorRequestNameServerArgs\n            {\n                Host = \"1.1.1.1\",\n                Port = 53,\n            },\n            Assertions = new[]\n            {\n                new Checkly.Inputs.DnsMonitorRequestAssertionArgs\n                {\n                    Source = \"RESPONSE_CODE\",\n                    Comparison = \"EQUALS\",\n                    Target = \"NOERROR\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewDnsMonitor(ctx, \"example-dns-monitor\", \u0026checkly.DnsMonitorArgs{\n\t\t\tName:                   pulumi.String(\"Example DNS monitor\"),\n\t\t\tActivated:              pulumi.Bool(true),\n\t\t\tFrequency:              pulumi.Int(2),\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.DnsMonitorRequestArgs{\n\t\t\t\tRecordType: pulumi.String(\"A\"),\n\t\t\t\tQuery:      pulumi.String(\"welcome.checklyhq.com\"),\n\t\t\t\tNameServer: \u0026checkly.DnsMonitorRequestNameServerArgs{\n\t\t\t\t\tHost: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tPort: pulumi.Int(53),\n\t\t\t\t},\n\t\t\t\tAssertions: checkly.DnsMonitorRequestAssertionArray{\n\t\t\t\t\t\u0026checkly.DnsMonitorRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_CODE\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"NOERROR\"),\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.checkly.DnsMonitor;\nimport com.pulumi.checkly.DnsMonitorArgs;\nimport com.pulumi.checkly.inputs.DnsMonitorRequestArgs;\nimport com.pulumi.checkly.inputs.DnsMonitorRequestNameServerArgs;\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 example_dns_monitor = new DnsMonitor(\"example-dns-monitor\", DnsMonitorArgs.builder()\n            .name(\"Example DNS monitor\")\n            .activated(true)\n            .frequency(2)\n            .useGlobalAlertSettings(true)\n            .locations(\"eu-west-1\")\n            .request(DnsMonitorRequestArgs.builder()\n                .recordType(\"A\")\n                .query(\"welcome.checklyhq.com\")\n                .nameServer(DnsMonitorRequestNameServerArgs.builder()\n                    .host(\"1.1.1.1\")\n                    .port(53)\n                    .build())\n                .assertions(DnsMonitorRequestAssertionArgs.builder()\n                    .source(\"RESPONSE_CODE\")\n                    .comparison(\"EQUALS\")\n                    .target(\"NOERROR\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-dns-monitor:\n    type: checkly:DnsMonitor\n    properties:\n      name: Example DNS monitor\n      activated: true\n      frequency: 2\n      useGlobalAlertSettings: true\n      locations:\n        - eu-west-1\n      request:\n        recordType: A\n        query: welcome.checklyhq.com\n        nameServer:\n          host: 1.1.1.1\n          port: 53\n        assertions:\n          - source: RESPONSE_CODE\n            comparison: EQUALS\n            target: NOERROR\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettings:DnsMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/DnsMonitorRequest:DnsMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/DnsMonitorRetryStrategy:DnsMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/DnsMonitorTriggerIncident:DnsMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"required":["activated","alertSettings","frequency","name","request","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettings:DnsMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/DnsMonitorRequest:DnsMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/DnsMonitorRetryStrategy:DnsMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/DnsMonitorTriggerIncident:DnsMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"requiredInputs":["activated","frequency","request"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsMonitor resources.\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/DnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/DnsMonitorAlertSettings:DnsMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/DnsMonitorRequest:DnsMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/DnsMonitorRetryStrategy:DnsMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/DnsMonitorTriggerIncident:DnsMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"type":"object"}},"checkly:index/environmentVariable:EnvironmentVariable":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\n// Simple Enviroment Variable example\nconst variable1 = new checkly.EnvironmentVariable(\"variable_1\", {\n    key: \"API_KEY\",\n    value: \"loZd9hOGHDUrGvmW\",\n    locked: true,\n});\nconst variable2 = new checkly.EnvironmentVariable(\"variable_2\", {\n    key: \"API_URL\",\n    value: \"http://localhost:3000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# Simple Enviroment Variable example\nvariable1 = checkly.EnvironmentVariable(\"variable_1\",\n    key=\"API_KEY\",\n    value=\"loZd9hOGHDUrGvmW\",\n    locked=True)\nvariable2 = checkly.EnvironmentVariable(\"variable_2\",\n    key=\"API_URL\",\n    value=\"http://localhost:3000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Simple Enviroment Variable example\n    var variable1 = new Checkly.EnvironmentVariable(\"variable_1\", new()\n    {\n        Key = \"API_KEY\",\n        Value = \"loZd9hOGHDUrGvmW\",\n        Locked = true,\n    });\n\n    var variable2 = new Checkly.EnvironmentVariable(\"variable_2\", new()\n    {\n        Key = \"API_URL\",\n        Value = \"http://localhost:3000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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// Simple Enviroment Variable example\n\t\t_, err := checkly.NewEnvironmentVariable(ctx, \"variable_1\", \u0026checkly.EnvironmentVariableArgs{\n\t\t\tKey:    pulumi.String(\"API_KEY\"),\n\t\t\tValue:  pulumi.String(\"loZd9hOGHDUrGvmW\"),\n\t\t\tLocked: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = checkly.NewEnvironmentVariable(ctx, \"variable_2\", \u0026checkly.EnvironmentVariableArgs{\n\t\t\tKey:   pulumi.String(\"API_URL\"),\n\t\t\tValue: pulumi.String(\"http://localhost:3000\"),\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.checkly.EnvironmentVariable;\nimport com.pulumi.checkly.EnvironmentVariableArgs;\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        // Simple Enviroment Variable example\n        var variable1 = new EnvironmentVariable(\"variable1\", EnvironmentVariableArgs.builder()\n            .key(\"API_KEY\")\n            .value(\"loZd9hOGHDUrGvmW\")\n            .locked(true)\n            .build());\n\n        var variable2 = new EnvironmentVariable(\"variable2\", EnvironmentVariableArgs.builder()\n            .key(\"API_URL\")\n            .value(\"http://localhost:3000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Simple Enviroment Variable example\n  variable1:\n    type: checkly:EnvironmentVariable\n    name: variable_1\n    properties:\n      key: API_KEY\n      value: loZd9hOGHDUrGvmW\n      locked: true\n  variable2:\n    type: checkly:EnvironmentVariable\n    name: variable_2\n    properties:\n      key: API_URL\n      value: http://localhost:3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"key":{"type":"string"},"locked":{"type":"boolean"},"secret":{"type":"boolean"},"value":{"type":"string"}},"required":["key","value"],"inputProperties":{"key":{"type":"string"},"locked":{"type":"boolean"},"secret":{"type":"boolean"},"value":{"type":"string"}},"requiredInputs":["key","value"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentVariable resources.\n","properties":{"key":{"type":"string"},"locked":{"type":"boolean"},"secret":{"type":"boolean"},"value":{"type":"string"}},"type":"object"}},"checkly:index/heartbeatCheck:HeartbeatCheck":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example_heartbeat = new checkly.HeartbeatCheck(\"example-heartbeat\", {\n    name: \"Example heartbeat\",\n    activated: true,\n    heartbeat: {\n        period: 7,\n        periodUnit: \"days\",\n        grace: 1,\n        graceUnit: \"days\",\n    },\n    useGlobalAlertSettings: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample_heartbeat = checkly.HeartbeatCheck(\"example-heartbeat\",\n    name=\"Example heartbeat\",\n    activated=True,\n    heartbeat={\n        \"period\": 7,\n        \"period_unit\": \"days\",\n        \"grace\": 1,\n        \"grace_unit\": \"days\",\n    },\n    use_global_alert_settings=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_heartbeat = new Checkly.HeartbeatCheck(\"example-heartbeat\", new()\n    {\n        Name = \"Example heartbeat\",\n        Activated = true,\n        Heartbeat = new Checkly.Inputs.HeartbeatCheckHeartbeatArgs\n        {\n            Period = 7,\n            PeriodUnit = \"days\",\n            Grace = 1,\n            GraceUnit = \"days\",\n        },\n        UseGlobalAlertSettings = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewHeartbeatCheck(ctx, \"example-heartbeat\", \u0026checkly.HeartbeatCheckArgs{\n\t\t\tName:      pulumi.String(\"Example heartbeat\"),\n\t\t\tActivated: pulumi.Bool(true),\n\t\t\tHeartbeat: \u0026checkly.HeartbeatCheckHeartbeatArgs{\n\t\t\t\tPeriod:     pulumi.Int(7),\n\t\t\t\tPeriodUnit: pulumi.String(\"days\"),\n\t\t\t\tGrace:      pulumi.Int(1),\n\t\t\t\tGraceUnit:  pulumi.String(\"days\"),\n\t\t\t},\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\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.checkly.HeartbeatCheck;\nimport com.pulumi.checkly.HeartbeatCheckArgs;\nimport com.pulumi.checkly.inputs.HeartbeatCheckHeartbeatArgs;\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 example_heartbeat = new HeartbeatCheck(\"example-heartbeat\", HeartbeatCheckArgs.builder()\n            .name(\"Example heartbeat\")\n            .activated(true)\n            .heartbeat(HeartbeatCheckHeartbeatArgs.builder()\n                .period(7)\n                .periodUnit(\"days\")\n                .grace(1)\n                .graceUnit(\"days\")\n                .build())\n            .useGlobalAlertSettings(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-heartbeat:\n    type: checkly:HeartbeatCheck\n    properties:\n      name: Example heartbeat\n      activated: true\n      heartbeat:\n        period: 7\n        periodUnit: days\n        grace: 1\n        graceUnit: days\n      useGlobalAlertSettings: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatCheckHeartbeat:HeartbeatCheckHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatCheckTriggerIncident:HeartbeatCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"required":["activated","alertSettings","heartbeat","name"],"language":{"csharp":{"name":"HeartbeatCheck"}},"inputProperties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatCheckHeartbeat:HeartbeatCheckHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatCheckTriggerIncident:HeartbeatCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"requiredInputs":["activated","heartbeat"],"stateInputs":{"description":"Input properties used for looking up and filtering HeartbeatCheck resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatCheckHeartbeat:HeartbeatCheckHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatCheckTriggerIncident:HeartbeatCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"type":"object"}},"checkly:index/heartbeatMonitor:HeartbeatMonitor":{"description":"Heartbeats allows you to monitor your cron jobs and set up alerting, so you get a notification when things break or slow down.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example_heartbeat_monitor = new checkly.HeartbeatMonitor(\"example-heartbeat-monitor\", {\n    name: \"Example heartbeat monitor\",\n    activated: true,\n    heartbeat: {\n        period: 7,\n        periodUnit: \"days\",\n        grace: 1,\n        graceUnit: \"days\",\n    },\n    useGlobalAlertSettings: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample_heartbeat_monitor = checkly.HeartbeatMonitor(\"example-heartbeat-monitor\",\n    name=\"Example heartbeat monitor\",\n    activated=True,\n    heartbeat={\n        \"period\": 7,\n        \"period_unit\": \"days\",\n        \"grace\": 1,\n        \"grace_unit\": \"days\",\n    },\n    use_global_alert_settings=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_heartbeat_monitor = new Checkly.HeartbeatMonitor(\"example-heartbeat-monitor\", new()\n    {\n        Name = \"Example heartbeat monitor\",\n        Activated = true,\n        Heartbeat = new Checkly.Inputs.HeartbeatMonitorHeartbeatArgs\n        {\n            Period = 7,\n            PeriodUnit = \"days\",\n            Grace = 1,\n            GraceUnit = \"days\",\n        },\n        UseGlobalAlertSettings = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewHeartbeatMonitor(ctx, \"example-heartbeat-monitor\", \u0026checkly.HeartbeatMonitorArgs{\n\t\t\tName:      pulumi.String(\"Example heartbeat monitor\"),\n\t\t\tActivated: pulumi.Bool(true),\n\t\t\tHeartbeat: \u0026checkly.HeartbeatMonitorHeartbeatArgs{\n\t\t\t\tPeriod:     pulumi.Int(7),\n\t\t\t\tPeriodUnit: pulumi.String(\"days\"),\n\t\t\t\tGrace:      pulumi.Int(1),\n\t\t\t\tGraceUnit:  pulumi.String(\"days\"),\n\t\t\t},\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\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.checkly.HeartbeatMonitor;\nimport com.pulumi.checkly.HeartbeatMonitorArgs;\nimport com.pulumi.checkly.inputs.HeartbeatMonitorHeartbeatArgs;\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 example_heartbeat_monitor = new HeartbeatMonitor(\"example-heartbeat-monitor\", HeartbeatMonitorArgs.builder()\n            .name(\"Example heartbeat monitor\")\n            .activated(true)\n            .heartbeat(HeartbeatMonitorHeartbeatArgs.builder()\n                .period(7)\n                .periodUnit(\"days\")\n                .grace(1)\n                .graceUnit(\"days\")\n                .build())\n            .useGlobalAlertSettings(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-heartbeat-monitor:\n    type: checkly:HeartbeatMonitor\n    properties:\n      name: Example heartbeat monitor\n      activated: true\n      heartbeat:\n        period: 7\n        periodUnit: days\n        grace: 1\n        graceUnit: days\n      useGlobalAlertSettings: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatMonitorHeartbeat:HeartbeatMonitorHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatMonitorTriggerIncident:HeartbeatMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"required":["activated","alertSettings","heartbeat","name"],"inputProperties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatMonitorHeartbeat:HeartbeatMonitorHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatMonitorTriggerIncident:HeartbeatMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"requiredInputs":["activated","heartbeat"],"stateInputs":{"description":"Input properties used for looking up and filtering HeartbeatMonitor resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/HeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"heartbeat":{"$ref":"#/types/checkly:index/HeartbeatMonitorHeartbeat:HeartbeatMonitorHeartbeat"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/HeartbeatMonitorTriggerIncident:HeartbeatMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"type":"object"}},"checkly:index/icmpMonitor:IcmpMonitor":{"description":"Creates an ICMP Monitor to check host availability using ping.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example_icmp_monitor = new checkly.IcmpMonitor(\"example-icmp-monitor\", {\n    name: \"Example ICMP monitor\",\n    activated: true,\n    frequency: 10,\n    useGlobalAlertSettings: true,\n    locations: [\"eu-west-1\"],\n    request: {\n        hostname: \"example.com\",\n        ipFamily: \"IPv4\",\n        pingCount: 10,\n        assertions: [{\n            source: \"LATENCY\",\n            property: \"avg\",\n            comparison: \"LESS_THAN\",\n            target: \"200\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample_icmp_monitor = checkly.IcmpMonitor(\"example-icmp-monitor\",\n    name=\"Example ICMP monitor\",\n    activated=True,\n    frequency=10,\n    use_global_alert_settings=True,\n    locations=[\"eu-west-1\"],\n    request={\n        \"hostname\": \"example.com\",\n        \"ip_family\": \"IPv4\",\n        \"ping_count\": 10,\n        \"assertions\": [{\n            \"source\": \"LATENCY\",\n            \"property\": \"avg\",\n            \"comparison\": \"LESS_THAN\",\n            \"target\": \"200\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_icmp_monitor = new Checkly.IcmpMonitor(\"example-icmp-monitor\", new()\n    {\n        Name = \"Example ICMP monitor\",\n        Activated = true,\n        Frequency = 10,\n        UseGlobalAlertSettings = true,\n        Locations = new[]\n        {\n            \"eu-west-1\",\n        },\n        Request = new Checkly.Inputs.IcmpMonitorRequestArgs\n        {\n            Hostname = \"example.com\",\n            IpFamily = \"IPv4\",\n            PingCount = 10,\n            Assertions = new[]\n            {\n                new Checkly.Inputs.IcmpMonitorRequestAssertionArgs\n                {\n                    Source = \"LATENCY\",\n                    Property = \"avg\",\n                    Comparison = \"LESS_THAN\",\n                    Target = \"200\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewIcmpMonitor(ctx, \"example-icmp-monitor\", \u0026checkly.IcmpMonitorArgs{\n\t\t\tName:                   pulumi.String(\"Example ICMP monitor\"),\n\t\t\tActivated:              pulumi.Bool(true),\n\t\t\tFrequency:              pulumi.Int(10),\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.IcmpMonitorRequestArgs{\n\t\t\t\tHostname:  pulumi.String(\"example.com\"),\n\t\t\t\tIpFamily:  pulumi.String(\"IPv4\"),\n\t\t\t\tPingCount: pulumi.Int(10),\n\t\t\t\tAssertions: checkly.IcmpMonitorRequestAssertionArray{\n\t\t\t\t\t\u0026checkly.IcmpMonitorRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"LATENCY\"),\n\t\t\t\t\t\tProperty:   pulumi.String(\"avg\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"LESS_THAN\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"200\"),\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.checkly.IcmpMonitor;\nimport com.pulumi.checkly.IcmpMonitorArgs;\nimport com.pulumi.checkly.inputs.IcmpMonitorRequestArgs;\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 example_icmp_monitor = new IcmpMonitor(\"example-icmp-monitor\", IcmpMonitorArgs.builder()\n            .name(\"Example ICMP monitor\")\n            .activated(true)\n            .frequency(10)\n            .useGlobalAlertSettings(true)\n            .locations(\"eu-west-1\")\n            .request(IcmpMonitorRequestArgs.builder()\n                .hostname(\"example.com\")\n                .ipFamily(\"IPv4\")\n                .pingCount(10)\n                .assertions(IcmpMonitorRequestAssertionArgs.builder()\n                    .source(\"LATENCY\")\n                    .property(\"avg\")\n                    .comparison(\"LESS_THAN\")\n                    .target(\"200\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-icmp-monitor:\n    type: checkly:IcmpMonitor\n    properties:\n      name: Example ICMP monitor\n      activated: true\n      frequency: 10\n      useGlobalAlertSettings: true\n      locations:\n        - eu-west-1\n      request:\n        hostname: example.com\n        ipFamily: IPv4\n        pingCount: 10\n        assertions:\n          - source: LATENCY\n            property: avg\n            comparison: LESS_THAN\n            target: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertChannelSubscription:IcmpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettings:IcmpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered degraded. Possible values are between `0` and `100`. (Default `10`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run this monitor.\n"},"maxPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered failing. Possible values are between `0` and `100`. (Default `20`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/IcmpMonitorRequest:IcmpMonitorRequest","description":"The parameters of the ICMP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/IcmpMonitorRetryStrategy:IcmpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/IcmpMonitorTriggerIncident:IcmpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"required":["activated","alertSettings","frequency","name","request","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertChannelSubscription:IcmpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettings:IcmpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered degraded. Possible values are between `0` and `100`. (Default `10`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run this monitor.\n"},"maxPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered failing. Possible values are between `0` and `100`. (Default `20`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/IcmpMonitorRequest:IcmpMonitorRequest","description":"The parameters of the ICMP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/IcmpMonitorRetryStrategy:IcmpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/IcmpMonitorTriggerIncident:IcmpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"requiredInputs":["activated","frequency","request"],"stateInputs":{"description":"Input properties used for looking up and filtering IcmpMonitor resources.\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/IcmpMonitorAlertChannelSubscription:IcmpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/IcmpMonitorAlertSettings:IcmpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered degraded. Possible values are between `0` and `100`. (Default `10`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run this monitor.\n"},"maxPacketLossThreshold":{"type":"integer","description":"The packet loss percentage where the monitor should be considered failing. Possible values are between `0` and `100`. (Default `20`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"request":{"$ref":"#/types/checkly:index/IcmpMonitorRequest:IcmpMonitorRequest","description":"The parameters of the ICMP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/IcmpMonitorRetryStrategy:IcmpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/IcmpMonitorTriggerIncident:IcmpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"type":"object"}},"checkly:index/maintenanceWindow:MaintenanceWindow":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst maintenance_1 = new checkly.MaintenanceWindow(\"maintenance-1\", {\n    name: \"Maintenance Windows\",\n    startsAt: \"2014-08-24T00:00:00.000Z\",\n    endsAt: \"2014-08-25T00:00:00.000Z\",\n    repeatUnit: \"MONTH\",\n    repeatEndsAt: \"2014-08-24T00:00:00.000Z\",\n    repeatInterval: 1,\n    tags: [\"production\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nmaintenance_1 = checkly.MaintenanceWindow(\"maintenance-1\",\n    name=\"Maintenance Windows\",\n    starts_at=\"2014-08-24T00:00:00.000Z\",\n    ends_at=\"2014-08-25T00:00:00.000Z\",\n    repeat_unit=\"MONTH\",\n    repeat_ends_at=\"2014-08-24T00:00:00.000Z\",\n    repeat_interval=1,\n    tags=[\"production\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maintenance_1 = new Checkly.MaintenanceWindow(\"maintenance-1\", new()\n    {\n        Name = \"Maintenance Windows\",\n        StartsAt = \"2014-08-24T00:00:00.000Z\",\n        EndsAt = \"2014-08-25T00:00:00.000Z\",\n        RepeatUnit = \"MONTH\",\n        RepeatEndsAt = \"2014-08-24T00:00:00.000Z\",\n        RepeatInterval = 1,\n        Tags = new[]\n        {\n            \"production\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewMaintenanceWindow(ctx, \"maintenance-1\", \u0026checkly.MaintenanceWindowArgs{\n\t\t\tName:           pulumi.String(\"Maintenance Windows\"),\n\t\t\tStartsAt:       pulumi.String(\"2014-08-24T00:00:00.000Z\"),\n\t\t\tEndsAt:         pulumi.String(\"2014-08-25T00:00:00.000Z\"),\n\t\t\tRepeatUnit:     pulumi.String(\"MONTH\"),\n\t\t\tRepeatEndsAt:   pulumi.String(\"2014-08-24T00:00:00.000Z\"),\n\t\t\tRepeatInterval: pulumi.Int(1),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\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.checkly.MaintenanceWindow;\nimport com.pulumi.checkly.MaintenanceWindowArgs;\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 maintenance_1 = new MaintenanceWindow(\"maintenance-1\", MaintenanceWindowArgs.builder()\n            .name(\"Maintenance Windows\")\n            .startsAt(\"2014-08-24T00:00:00.000Z\")\n            .endsAt(\"2014-08-25T00:00:00.000Z\")\n            .repeatUnit(\"MONTH\")\n            .repeatEndsAt(\"2014-08-24T00:00:00.000Z\")\n            .repeatInterval(1)\n            .tags(\"production\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  maintenance-1:\n    type: checkly:MaintenanceWindow\n    properties:\n      name: Maintenance Windows\n      startsAt: 2014-08-24T00:00:00.000Z\n      endsAt: 2014-08-25T00:00:00.000Z\n      repeatUnit: MONTH\n      repeatEndsAt: 2014-08-24T00:00:00.000Z\n      repeatInterval: 1\n      tags:\n        - production\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"endsAt":{"type":"string","description":"The end date of the maintenance window.\n"},"name":{"type":"string","description":"The maintenance window name.\n"},"repeatEndsAt":{"type":"string","description":"The date on which the maintenance window should stop repeating.\n"},"repeatInterval":{"type":"integer","description":"The repeat interval of the maintenance window from the first occurrence.\n"},"repeatUnit":{"type":"string","description":"The repeat cadence for the maintenance window. Possible values `DAY`, `WEEK` and `MONTH`.\n"},"startsAt":{"type":"string","description":"The start date of the maintenance window.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The names of the checks and groups maintenance window should apply to.\n"}},"required":["endsAt","name","startsAt"],"inputProperties":{"endsAt":{"type":"string","description":"The end date of the maintenance window.\n"},"name":{"type":"string","description":"The maintenance window name.\n"},"repeatEndsAt":{"type":"string","description":"The date on which the maintenance window should stop repeating.\n"},"repeatInterval":{"type":"integer","description":"The repeat interval of the maintenance window from the first occurrence.\n"},"repeatUnit":{"type":"string","description":"The repeat cadence for the maintenance window. Possible values `DAY`, `WEEK` and `MONTH`.\n"},"startsAt":{"type":"string","description":"The start date of the maintenance window.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The names of the checks and groups maintenance window should apply to.\n"}},"requiredInputs":["endsAt","startsAt"],"stateInputs":{"description":"Input properties used for looking up and filtering MaintenanceWindow resources.\n","properties":{"endsAt":{"type":"string","description":"The end date of the maintenance window.\n"},"name":{"type":"string","description":"The maintenance window name.\n"},"repeatEndsAt":{"type":"string","description":"The date on which the maintenance window should stop repeating.\n"},"repeatInterval":{"type":"integer","description":"The repeat interval of the maintenance window from the first occurrence.\n"},"repeatUnit":{"type":"string","description":"The repeat cadence for the maintenance window. Possible values `DAY`, `WEEK` and `MONTH`.\n"},"startsAt":{"type":"string","description":"The start date of the maintenance window.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"The names of the checks and groups maintenance window should apply to.\n"}},"type":"object"}},"checkly:index/playwrightCheckSuite:PlaywrightCheckSuite":{"description":"Creates a Playwright check from a code bundle.\n\n","properties":{"activated":{"type":"boolean","description":"Determines whether the check will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertChannelSubscription:PlaywrightCheckSuiteAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettings:PlaywrightCheckSuiteAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"bundle":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteBundle:PlaywrightCheckSuiteBundle","description":"Attaches a code bundle to the check.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteEnvironmentVariable:PlaywrightCheckSuiteEnvironmentVariable"},"description":"Insert environment variables into the execution environment.\n"},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the check in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the check fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the check should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"runtime":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntime:PlaywrightCheckSuiteRuntime","description":"Configure the runtime environment of the Playwright check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteTriggerIncident:PlaywrightCheckSuiteTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check. (Default `true`).\n"}},"required":["activated","alertSettings","bundle","frequency","name","runtime"],"inputProperties":{"activated":{"type":"boolean","description":"Determines whether the check will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertChannelSubscription:PlaywrightCheckSuiteAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettings:PlaywrightCheckSuiteAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"bundle":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteBundle:PlaywrightCheckSuiteBundle","description":"Attaches a code bundle to the check.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteEnvironmentVariable:PlaywrightCheckSuiteEnvironmentVariable"},"description":"Insert environment variables into the execution environment.\n"},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the check in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the check fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the check should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"runtime":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntime:PlaywrightCheckSuiteRuntime","description":"Configure the runtime environment of the Playwright check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteTriggerIncident:PlaywrightCheckSuiteTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check. (Default `true`).\n"}},"requiredInputs":["activated","bundle","frequency","runtime"],"stateInputs":{"description":"Input properties used for looking up and filtering PlaywrightCheckSuite resources.\n","properties":{"activated":{"type":"boolean","description":"Determines whether the check will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertChannelSubscription:PlaywrightCheckSuiteAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your check, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteAlertSettings:PlaywrightCheckSuiteAlertSettings","description":"Determines the alert escalation policy for the check.\n"},"bundle":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteBundle:PlaywrightCheckSuiteBundle","description":"Attaches a code bundle to the check.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteEnvironmentVariable:PlaywrightCheckSuiteEnvironmentVariable"},"description":"Insert environment variables into the execution environment.\n"},"frequency":{"type":"integer","description":"Controls how often the check should run. Defined in minutes. The allowed values are `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the check in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check.\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the check fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the check should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"runtime":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteRuntime:PlaywrightCheckSuiteRuntime","description":"Configure the runtime environment of the Playwright check.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/PlaywrightCheckSuiteTriggerIncident:PlaywrightCheckSuiteTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check. (Default `true`).\n"}},"type":"object"}},"checkly:index/playwrightCodeBundle:PlaywrightCodeBundle":{"description":"A managed code bundle which can be used in Playwright Check Suite resources.\n\n","properties":{"metadata":{"type":"string","description":"An opaque blob of generated metadata. The value is not intended to be user-consumable and should be passed as-is to a Playwright check resource.\n"},"prebuiltArchive":{"$ref":"#/types/checkly:index/PlaywrightCodeBundlePrebuiltArchive:PlaywrightCodeBundlePrebuiltArchive","description":"A prebuilt archive containing the code bundle.\n"}},"required":["metadata","prebuiltArchive"],"inputProperties":{"prebuiltArchive":{"$ref":"#/types/checkly:index/PlaywrightCodeBundlePrebuiltArchive:PlaywrightCodeBundlePrebuiltArchive","description":"A prebuilt archive containing the code bundle.\n","willReplaceOnChanges":true}},"requiredInputs":["prebuiltArchive"],"stateInputs":{"description":"Input properties used for looking up and filtering PlaywrightCodeBundle resources.\n","properties":{"metadata":{"type":"string","description":"An opaque blob of generated metadata. The value is not intended to be user-consumable and should be passed as-is to a Playwright check resource.\n","willReplaceOnChanges":true},"prebuiltArchive":{"$ref":"#/types/checkly:index/PlaywrightCodeBundlePrebuiltArchive:PlaywrightCodeBundlePrebuiltArchive","description":"A prebuilt archive containing the code bundle.\n","willReplaceOnChanges":true}},"type":"object"}},"checkly:index/privateLocation:PrivateLocation":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst location = new checkly.PrivateLocation(\"location\", {\n    name: \"New Private Location\",\n    slugName: \"new-private-location\",\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nlocation = checkly.PrivateLocation(\"location\",\n    name=\"New Private Location\",\n    slug_name=\"new-private-location\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var location = new Checkly.PrivateLocation(\"location\", new()\n    {\n        Name = \"New Private Location\",\n        SlugName = \"new-private-location\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewPrivateLocation(ctx, \"location\", \u0026checkly.PrivateLocationArgs{\n\t\t\tName:     pulumi.String(\"New Private Location\"),\n\t\t\tSlugName: pulumi.String(\"new-private-location\"),\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.checkly.PrivateLocation;\nimport com.pulumi.checkly.PrivateLocationArgs;\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            .name(\"New Private Location\")\n            .slugName(\"new-private-location\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  location:\n    type: checkly:PrivateLocation\n    properties:\n      name: New Private Location\n      slugName: new-private-location\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"icon":{"type":"string","description":"Icon assigned to the private location.\n"},"keys":{"type":"array","items":{"type":"string"},"description":"Private location API keys.\n","secret":true},"name":{"type":"string","description":"The private location name.\n"},"slugName":{"type":"string","description":"Valid slug name.\n"}},"required":["keys","name","slugName"],"inputProperties":{"icon":{"type":"string","description":"Icon assigned to the private location.\n"},"name":{"type":"string","description":"The private location name.\n"},"slugName":{"type":"string","description":"Valid slug name.\n"}},"requiredInputs":["slugName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivateLocation resources.\n","properties":{"icon":{"type":"string","description":"Icon assigned to the private location.\n"},"keys":{"type":"array","items":{"type":"string"},"description":"Private location API keys.\n","secret":true},"name":{"type":"string","description":"The private location name.\n"},"slugName":{"type":"string","description":"Valid slug name.\n"}},"type":"object"}},"checkly:index/snippet:Snippet":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example1 = new checkly.Snippet(\"example_1\", {\n    name: \"Example 1\",\n    script: \"console.log('test');\",\n});\n// An alternative way to use multi-line script.\nconst example2 = new checkly.Snippet(\"example_2\", {\n    name: \"Example 2\",\n    script: `    console.log('test1');\n    console.log('test2');\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample1 = checkly.Snippet(\"example_1\",\n    name=\"Example 1\",\n    script=\"console.log('test');\")\n# An alternative way to use multi-line script.\nexample2 = checkly.Snippet(\"example_2\",\n    name=\"Example 2\",\n    script=\"\"\"    console.log('test1');\n    console.log('test2');\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example1 = new Checkly.Snippet(\"example_1\", new()\n    {\n        Name = \"Example 1\",\n        Script = \"console.log('test');\",\n    });\n\n    // An alternative way to use multi-line script.\n    var example2 = new Checkly.Snippet(\"example_2\", new()\n    {\n        Name = \"Example 2\",\n        Script = @\"    console.log('test1');\n    console.log('test2');\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewSnippet(ctx, \"example_1\", \u0026checkly.SnippetArgs{\n\t\t\tName:   pulumi.String(\"Example 1\"),\n\t\t\tScript: pulumi.String(\"console.log('test');\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// An alternative way to use multi-line script.\n\t\t_, err = checkly.NewSnippet(ctx, \"example_2\", \u0026checkly.SnippetArgs{\n\t\t\tName:   pulumi.String(\"Example 2\"),\n\t\t\tScript: pulumi.String(\"    console.log('test1');\\n    console.log('test2');\\n\"),\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.checkly.Snippet;\nimport com.pulumi.checkly.SnippetArgs;\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 example1 = new Snippet(\"example1\", SnippetArgs.builder()\n            .name(\"Example 1\")\n            .script(\"console.log('test');\")\n            .build());\n\n        // An alternative way to use multi-line script.\n        var example2 = new Snippet(\"example2\", SnippetArgs.builder()\n            .name(\"Example 2\")\n            .script(\"\"\"\n    console.log('test1');\n    console.log('test2');\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example1:\n    type: checkly:Snippet\n    name: example_1\n    properties:\n      name: Example 1\n      script: console.log('test');\n  # An alternative way to use multi-line script.\n  example2:\n    type: checkly:Snippet\n    name: example_2\n    properties:\n      name: Example 2\n      script: |2\n            console.log('test1');\n            console.log('test2');\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"name":{"type":"string","description":"The name of the snippet\n"},"script":{"type":"string","description":"Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks.\n"}},"required":["name","script"],"inputProperties":{"name":{"type":"string","description":"The name of the snippet\n"},"script":{"type":"string","description":"Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks.\n"}},"requiredInputs":["script"],"stateInputs":{"description":"Input properties used for looking up and filtering Snippet resources.\n","properties":{"name":{"type":"string","description":"The name of the snippet\n"},"script":{"type":"string","description":"Your Node.js code that interacts with the API check lifecycle, or functions as a partial for browser checks.\n"}},"type":"object"}},"checkly:index/statusPage:StatusPage":{"description":"Checkly status pages allow you to easily communicate the uptime and health of your applications and services to your customers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst api = new checkly.StatusPageService(\"api\", {name: \"API\"});\nconst database = new checkly.StatusPageService(\"database\", {name: \"Database\"});\nconst example = new checkly.StatusPage(\"example\", {\n    name: \"Example Application\",\n    url: \"my-example-status-page\",\n    defaultTheme: \"DARK\",\n    cards: [{\n        name: \"Services\",\n        serviceAttachments: [\n            {\n                serviceId: api.id,\n            },\n            {\n                serviceId: database.id,\n            },\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\napi = checkly.StatusPageService(\"api\", name=\"API\")\ndatabase = checkly.StatusPageService(\"database\", name=\"Database\")\nexample = checkly.StatusPage(\"example\",\n    name=\"Example Application\",\n    url=\"my-example-status-page\",\n    default_theme=\"DARK\",\n    cards=[{\n        \"name\": \"Services\",\n        \"service_attachments\": [\n            {\n                \"service_id\": api.id,\n            },\n            {\n                \"service_id\": database.id,\n            },\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var api = new Checkly.StatusPageService(\"api\", new()\n    {\n        Name = \"API\",\n    });\n\n    var database = new Checkly.StatusPageService(\"database\", new()\n    {\n        Name = \"Database\",\n    });\n\n    var example = new Checkly.StatusPage(\"example\", new()\n    {\n        Name = \"Example Application\",\n        Url = \"my-example-status-page\",\n        DefaultTheme = \"DARK\",\n        Cards = new[]\n        {\n            new Checkly.Inputs.StatusPageCardArgs\n            {\n                Name = \"Services\",\n                ServiceAttachments = new[]\n                {\n                    new Checkly.Inputs.StatusPageCardServiceAttachmentArgs\n                    {\n                        ServiceId = api.Id,\n                    },\n                    new Checkly.Inputs.StatusPageCardServiceAttachmentArgs\n                    {\n                        ServiceId = database.Id,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tapi, err := checkly.NewStatusPageService(ctx, \"api\", \u0026checkly.StatusPageServiceArgs{\n\t\t\tName: pulumi.String(\"API\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdatabase, err := checkly.NewStatusPageService(ctx, \"database\", \u0026checkly.StatusPageServiceArgs{\n\t\t\tName: pulumi.String(\"Database\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = checkly.NewStatusPage(ctx, \"example\", \u0026checkly.StatusPageArgs{\n\t\t\tName:         pulumi.String(\"Example Application\"),\n\t\t\tUrl:          pulumi.String(\"my-example-status-page\"),\n\t\t\tDefaultTheme: pulumi.String(\"DARK\"),\n\t\t\tCards: checkly.StatusPageCardArray{\n\t\t\t\t\u0026checkly.StatusPageCardArgs{\n\t\t\t\t\tName: pulumi.String(\"Services\"),\n\t\t\t\t\tServiceAttachments: checkly.StatusPageCardServiceAttachmentArray{\n\t\t\t\t\t\t\u0026checkly.StatusPageCardServiceAttachmentArgs{\n\t\t\t\t\t\t\tServiceId: api.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026checkly.StatusPageCardServiceAttachmentArgs{\n\t\t\t\t\t\t\tServiceId: database.ID(),\n\t\t\t\t\t\t},\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.checkly.StatusPageService;\nimport com.pulumi.checkly.StatusPageServiceArgs;\nimport com.pulumi.checkly.StatusPage;\nimport com.pulumi.checkly.StatusPageArgs;\nimport com.pulumi.checkly.inputs.StatusPageCardArgs;\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 api = new StatusPageService(\"api\", StatusPageServiceArgs.builder()\n            .name(\"API\")\n            .build());\n\n        var database = new StatusPageService(\"database\", StatusPageServiceArgs.builder()\n            .name(\"Database\")\n            .build());\n\n        var example = new StatusPage(\"example\", StatusPageArgs.builder()\n            .name(\"Example Application\")\n            .url(\"my-example-status-page\")\n            .defaultTheme(\"DARK\")\n            .cards(StatusPageCardArgs.builder()\n                .name(\"Services\")\n                .serviceAttachments(                \n                    StatusPageCardServiceAttachmentArgs.builder()\n                        .serviceId(api.id())\n                        .build(),\n                    StatusPageCardServiceAttachmentArgs.builder()\n                        .serviceId(database.id())\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  api:\n    type: checkly:StatusPageService\n    properties:\n      name: API\n  database:\n    type: checkly:StatusPageService\n    properties:\n      name: Database\n  example:\n    type: checkly:StatusPage\n    properties:\n      name: Example Application\n      url: my-example-status-page\n      defaultTheme: DARK\n      cards:\n        - name: Services\n          serviceAttachments:\n            - serviceId: ${api.id}\n            - serviceId: ${database.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cards":{"type":"array","items":{"$ref":"#/types/checkly:index/StatusPageCard:StatusPageCard"},"description":"A list of cards to include on the status page.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. \"status.example.com\". See the docs on updating your DNS and SSL usage.\n"},"defaultTheme":{"type":"string","description":"Possible values are `AUTO`, `DARK`, and `LIGHT`. (Default `AUTO`).\n"},"favicon":{"type":"string","description":"A URL to an image file to use as the favicon of the status page.\n"},"logo":{"type":"string","description":"A URL to an image file to use as the logo for the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"redirectTo":{"type":"string","description":"The URL the user should be redirected to when clicking the logo.\n"},"url":{"type":"string","description":"The URL of the status page.\n"}},"required":["cards","name","url"],"inputProperties":{"cards":{"type":"array","items":{"$ref":"#/types/checkly:index/StatusPageCard:StatusPageCard"},"description":"A list of cards to include on the status page.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. \"status.example.com\". See the docs on updating your DNS and SSL usage.\n"},"defaultTheme":{"type":"string","description":"Possible values are `AUTO`, `DARK`, and `LIGHT`. (Default `AUTO`).\n"},"favicon":{"type":"string","description":"A URL to an image file to use as the favicon of the status page.\n"},"logo":{"type":"string","description":"A URL to an image file to use as the logo for the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"redirectTo":{"type":"string","description":"The URL the user should be redirected to when clicking the logo.\n"},"url":{"type":"string","description":"The URL of the status page.\n"}},"requiredInputs":["cards","url"],"stateInputs":{"description":"Input properties used for looking up and filtering StatusPage resources.\n","properties":{"cards":{"type":"array","items":{"$ref":"#/types/checkly:index/StatusPageCard:StatusPageCard"},"description":"A list of cards to include on the status page.\n"},"customDomain":{"type":"string","description":"A custom user domain, e.g. \"status.example.com\". See the docs on updating your DNS and SSL usage.\n"},"defaultTheme":{"type":"string","description":"Possible values are `AUTO`, `DARK`, and `LIGHT`. (Default `AUTO`).\n"},"favicon":{"type":"string","description":"A URL to an image file to use as the favicon of the status page.\n"},"logo":{"type":"string","description":"A URL to an image file to use as the logo for the status page.\n"},"name":{"type":"string","description":"The name of the status page.\n"},"redirectTo":{"type":"string","description":"The URL the user should be redirected to when clicking the logo.\n"},"url":{"type":"string","description":"The URL of the status page.\n"}},"type":"object"}},"checkly:index/statusPageService:StatusPageService":{"description":"Status page services represent functional pieces of your application or website, such as landing page, API, support portal etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst backend = new checkly.StatusPageService(\"backend\", {name: \"Backend\"});\nconst frontend = new checkly.StatusPageService(\"frontend\", {name: \"Frontend\"});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nbackend = checkly.StatusPageService(\"backend\", name=\"Backend\")\nfrontend = checkly.StatusPageService(\"frontend\", name=\"Frontend\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backend = new Checkly.StatusPageService(\"backend\", new()\n    {\n        Name = \"Backend\",\n    });\n\n    var frontend = new Checkly.StatusPageService(\"frontend\", new()\n    {\n        Name = \"Frontend\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewStatusPageService(ctx, \"backend\", \u0026checkly.StatusPageServiceArgs{\n\t\t\tName: pulumi.String(\"Backend\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = checkly.NewStatusPageService(ctx, \"frontend\", \u0026checkly.StatusPageServiceArgs{\n\t\t\tName: pulumi.String(\"Frontend\"),\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.checkly.StatusPageService;\nimport com.pulumi.checkly.StatusPageServiceArgs;\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 backend = new StatusPageService(\"backend\", StatusPageServiceArgs.builder()\n            .name(\"Backend\")\n            .build());\n\n        var frontend = new StatusPageService(\"frontend\", StatusPageServiceArgs.builder()\n            .name(\"Frontend\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backend:\n    type: checkly:StatusPageService\n    properties:\n      name: Backend\n  frontend:\n    type: checkly:StatusPageService\n    properties:\n      name: Frontend\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"name":{"type":"string","description":"The name of the service.\n"}},"required":["name"],"inputProperties":{"name":{"type":"string","description":"The name of the service.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering StatusPageService resources.\n","properties":{"name":{"type":"string","description":"The name of the service.\n"}},"type":"object"}},"checkly:index/tcpCheck:TcpCheck":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\n// Basic TCP Check\nconst example_tcp_check = new checkly.TcpCheck(\"example-tcp-check\", {\n    name: \"Example TCP check\",\n    activated: true,\n    shouldFail: false,\n    frequency: 1,\n    useGlobalAlertSettings: true,\n    locations: [\"us-west-1\"],\n    request: {\n        hostname: \"api.checklyhq.com\",\n        port: 80,\n    },\n});\n// A more complex example using assertions and setting alerts\nconst example_tcp_check_2 = new checkly.TcpCheck(\"example-tcp-check-2\", {\n    name: \"Example TCP check 2\",\n    activated: true,\n    shouldFail: true,\n    frequency: 1,\n    degradedResponseTime: 5000,\n    maxResponseTime: 10000,\n    locations: [\n        \"us-west-1\",\n        \"ap-northeast-1\",\n        \"ap-south-1\",\n    ],\n    alertSettings: {\n        escalationType: \"RUN_BASED\",\n        runBasedEscalations: [{\n            failedRunThreshold: 1,\n        }],\n        reminders: [{\n            amount: 1,\n        }],\n    },\n    retryStrategy: {\n        type: \"FIXED\",\n        baseBackoffSeconds: 60,\n        maxDurationSeconds: 600,\n        maxRetries: 3,\n        sameRegion: false,\n    },\n    request: {\n        hostname: \"api.checklyhq.com\",\n        port: 80,\n        data: \"hello\",\n        assertions: [\n            {\n                source: \"RESPONSE_DATA\",\n                property: \"\",\n                comparison: \"CONTAINS\",\n                target: \"welcome\",\n            },\n            {\n                source: \"RESPONSE_TIME\",\n                property: \"\",\n                comparison: \"LESS_THAN\",\n                target: \"2000\",\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# Basic TCP Check\nexample_tcp_check = checkly.TcpCheck(\"example-tcp-check\",\n    name=\"Example TCP check\",\n    activated=True,\n    should_fail=False,\n    frequency=1,\n    use_global_alert_settings=True,\n    locations=[\"us-west-1\"],\n    request={\n        \"hostname\": \"api.checklyhq.com\",\n        \"port\": 80,\n    })\n# A more complex example using assertions and setting alerts\nexample_tcp_check_2 = checkly.TcpCheck(\"example-tcp-check-2\",\n    name=\"Example TCP check 2\",\n    activated=True,\n    should_fail=True,\n    frequency=1,\n    degraded_response_time=5000,\n    max_response_time=10000,\n    locations=[\n        \"us-west-1\",\n        \"ap-northeast-1\",\n        \"ap-south-1\",\n    ],\n    alert_settings={\n        \"escalation_type\": \"RUN_BASED\",\n        \"run_based_escalations\": [{\n            \"failed_run_threshold\": 1,\n        }],\n        \"reminders\": [{\n            \"amount\": 1,\n        }],\n    },\n    retry_strategy={\n        \"type\": \"FIXED\",\n        \"base_backoff_seconds\": 60,\n        \"max_duration_seconds\": 600,\n        \"max_retries\": 3,\n        \"same_region\": False,\n    },\n    request={\n        \"hostname\": \"api.checklyhq.com\",\n        \"port\": 80,\n        \"data\": \"hello\",\n        \"assertions\": [\n            {\n                \"source\": \"RESPONSE_DATA\",\n                \"property\": \"\",\n                \"comparison\": \"CONTAINS\",\n                \"target\": \"welcome\",\n            },\n            {\n                \"source\": \"RESPONSE_TIME\",\n                \"property\": \"\",\n                \"comparison\": \"LESS_THAN\",\n                \"target\": \"2000\",\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Basic TCP Check\n    var example_tcp_check = new Checkly.TcpCheck(\"example-tcp-check\", new()\n    {\n        Name = \"Example TCP check\",\n        Activated = true,\n        ShouldFail = false,\n        Frequency = 1,\n        UseGlobalAlertSettings = true,\n        Locations = new[]\n        {\n            \"us-west-1\",\n        },\n        Request = new Checkly.Inputs.TcpCheckRequestArgs\n        {\n            Hostname = \"api.checklyhq.com\",\n            Port = 80,\n        },\n    });\n\n    // A more complex example using assertions and setting alerts\n    var example_tcp_check_2 = new Checkly.TcpCheck(\"example-tcp-check-2\", new()\n    {\n        Name = \"Example TCP check 2\",\n        Activated = true,\n        ShouldFail = true,\n        Frequency = 1,\n        DegradedResponseTime = 5000,\n        MaxResponseTime = 10000,\n        Locations = new[]\n        {\n            \"us-west-1\",\n            \"ap-northeast-1\",\n            \"ap-south-1\",\n        },\n        AlertSettings = new Checkly.Inputs.TcpCheckAlertSettingsArgs\n        {\n            EscalationType = \"RUN_BASED\",\n            RunBasedEscalations = new[]\n            {\n                new Checkly.Inputs.TcpCheckAlertSettingsRunBasedEscalationArgs\n                {\n                    FailedRunThreshold = 1,\n                },\n            },\n            Reminders = new[]\n            {\n                new Checkly.Inputs.TcpCheckAlertSettingsReminderArgs\n                {\n                    Amount = 1,\n                },\n            },\n        },\n        RetryStrategy = new Checkly.Inputs.TcpCheckRetryStrategyArgs\n        {\n            Type = \"FIXED\",\n            BaseBackoffSeconds = 60,\n            MaxDurationSeconds = 600,\n            MaxRetries = 3,\n            SameRegion = false,\n        },\n        Request = new Checkly.Inputs.TcpCheckRequestArgs\n        {\n            Hostname = \"api.checklyhq.com\",\n            Port = 80,\n            Data = \"hello\",\n            Assertions = new[]\n            {\n                new Checkly.Inputs.TcpCheckRequestAssertionArgs\n                {\n                    Source = \"RESPONSE_DATA\",\n                    Property = \"\",\n                    Comparison = \"CONTAINS\",\n                    Target = \"welcome\",\n                },\n                new Checkly.Inputs.TcpCheckRequestAssertionArgs\n                {\n                    Source = \"RESPONSE_TIME\",\n                    Property = \"\",\n                    Comparison = \"LESS_THAN\",\n                    Target = \"2000\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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// Basic TCP Check\n\t\t_, err := checkly.NewTcpCheck(ctx, \"example-tcp-check\", \u0026checkly.TcpCheckArgs{\n\t\t\tName:                   pulumi.String(\"Example TCP check\"),\n\t\t\tActivated:              pulumi.Bool(true),\n\t\t\tShouldFail:             pulumi.Bool(false),\n\t\t\tFrequency:              pulumi.Int(1),\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-1\"),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.TcpCheckRequestArgs{\n\t\t\t\tHostname: pulumi.String(\"api.checklyhq.com\"),\n\t\t\t\tPort:     pulumi.Int(80),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A more complex example using assertions and setting alerts\n\t\t_, err = checkly.NewTcpCheck(ctx, \"example-tcp-check-2\", \u0026checkly.TcpCheckArgs{\n\t\t\tName:                 pulumi.String(\"Example TCP check 2\"),\n\t\t\tActivated:            pulumi.Bool(true),\n\t\t\tShouldFail:           pulumi.Bool(true),\n\t\t\tFrequency:            pulumi.Int(1),\n\t\t\tDegradedResponseTime: pulumi.Int(5000),\n\t\t\tMaxResponseTime:      pulumi.Int(10000),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-1\"),\n\t\t\t\tpulumi.String(\"ap-northeast-1\"),\n\t\t\t\tpulumi.String(\"ap-south-1\"),\n\t\t\t},\n\t\t\tAlertSettings: \u0026checkly.TcpCheckAlertSettingsArgs{\n\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\tRunBasedEscalations: checkly.TcpCheckAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t\u0026checkly.TcpCheckAlertSettingsRunBasedEscalationArgs{\n\t\t\t\t\t\tFailedRunThreshold: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReminders: checkly.TcpCheckAlertSettingsReminderArray{\n\t\t\t\t\t\u0026checkly.TcpCheckAlertSettingsReminderArgs{\n\t\t\t\t\t\tAmount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetryStrategy: \u0026checkly.TcpCheckRetryStrategyArgs{\n\t\t\t\tType:               pulumi.String(\"FIXED\"),\n\t\t\t\tBaseBackoffSeconds: pulumi.Int(60),\n\t\t\t\tMaxDurationSeconds: pulumi.Int(600),\n\t\t\t\tMaxRetries:         pulumi.Int(3),\n\t\t\t\tSameRegion:         pulumi.Bool(false),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.TcpCheckRequestArgs{\n\t\t\t\tHostname: pulumi.String(\"api.checklyhq.com\"),\n\t\t\t\tPort:     pulumi.Int(80),\n\t\t\t\tData:     pulumi.String(\"hello\"),\n\t\t\t\tAssertions: checkly.TcpCheckRequestAssertionArray{\n\t\t\t\t\t\u0026checkly.TcpCheckRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_DATA\"),\n\t\t\t\t\t\tProperty:   pulumi.String(\"\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"welcome\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026checkly.TcpCheckRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_TIME\"),\n\t\t\t\t\t\tProperty:   pulumi.String(\"\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"LESS_THAN\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"2000\"),\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.checkly.TcpCheck;\nimport com.pulumi.checkly.TcpCheckArgs;\nimport com.pulumi.checkly.inputs.TcpCheckRequestArgs;\nimport com.pulumi.checkly.inputs.TcpCheckAlertSettingsArgs;\nimport com.pulumi.checkly.inputs.TcpCheckRetryStrategyArgs;\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        // Basic TCP Check\n        var example_tcp_check = new TcpCheck(\"example-tcp-check\", TcpCheckArgs.builder()\n            .name(\"Example TCP check\")\n            .activated(true)\n            .shouldFail(false)\n            .frequency(1)\n            .useGlobalAlertSettings(true)\n            .locations(\"us-west-1\")\n            .request(TcpCheckRequestArgs.builder()\n                .hostname(\"api.checklyhq.com\")\n                .port(80)\n                .build())\n            .build());\n\n        // A more complex example using assertions and setting alerts\n        var example_tcp_check_2 = new TcpCheck(\"example-tcp-check-2\", TcpCheckArgs.builder()\n            .name(\"Example TCP check 2\")\n            .activated(true)\n            .shouldFail(true)\n            .frequency(1)\n            .degradedResponseTime(5000)\n            .maxResponseTime(10000)\n            .locations(            \n                \"us-west-1\",\n                \"ap-northeast-1\",\n                \"ap-south-1\")\n            .alertSettings(TcpCheckAlertSettingsArgs.builder()\n                .escalationType(\"RUN_BASED\")\n                .runBasedEscalations(TcpCheckAlertSettingsRunBasedEscalationArgs.builder()\n                    .failedRunThreshold(1)\n                    .build())\n                .reminders(TcpCheckAlertSettingsReminderArgs.builder()\n                    .amount(1)\n                    .build())\n                .build())\n            .retryStrategy(TcpCheckRetryStrategyArgs.builder()\n                .type(\"FIXED\")\n                .baseBackoffSeconds(60)\n                .maxDurationSeconds(600)\n                .maxRetries(3)\n                .sameRegion(false)\n                .build())\n            .request(TcpCheckRequestArgs.builder()\n                .hostname(\"api.checklyhq.com\")\n                .port(80)\n                .data(\"hello\")\n                .assertions(                \n                    TcpCheckRequestAssertionArgs.builder()\n                        .source(\"RESPONSE_DATA\")\n                        .property(\"\")\n                        .comparison(\"CONTAINS\")\n                        .target(\"welcome\")\n                        .build(),\n                    TcpCheckRequestAssertionArgs.builder()\n                        .source(\"RESPONSE_TIME\")\n                        .property(\"\")\n                        .comparison(\"LESS_THAN\")\n                        .target(\"2000\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Basic TCP Check\n  example-tcp-check:\n    type: checkly:TcpCheck\n    properties:\n      name: Example TCP check\n      activated: true\n      shouldFail: false\n      frequency: 1\n      useGlobalAlertSettings: true\n      locations:\n        - us-west-1\n      request:\n        hostname: api.checklyhq.com\n        port: 80\n  # A more complex example using assertions and setting alerts\n  example-tcp-check-2:\n    type: checkly:TcpCheck\n    properties:\n      name: Example TCP check 2\n      activated: true\n      shouldFail: true\n      frequency: 1\n      degradedResponseTime: 5000\n      maxResponseTime: 10000\n      locations:\n        - us-west-1\n        - ap-northeast-1\n        - ap-south-1\n      alertSettings:\n        escalationType: RUN_BASED\n        runBasedEscalations:\n          - failedRunThreshold: 1\n        reminders:\n          - amount: 1\n      retryStrategy:\n        type: FIXED\n        baseBackoffSeconds: 60\n        maxDurationSeconds: 600\n        maxRetries: 3\n        sameRegion: false\n      request:\n        hostname: api.checklyhq.com\n        port: 80\n        data: hello\n        assertions:\n          - source: RESPONSE_DATA\n            property: \"\"\n            comparison: CONTAINS\n            target: welcome\n          - source: RESPONSE_TIME\n            property: \"\"\n            comparison: LESS_THAN\n            target: '2000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpCheckAlertSettings:TcpCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpCheckRequest:TcpCheckRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpCheckRetryStrategy:TcpCheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpCheckTriggerIncident:TcpCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"required":["activated","alertSettings","frequency","name","request","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpCheckAlertSettings:TcpCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpCheckRequest:TcpCheckRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpCheckRetryStrategy:TcpCheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpCheckTriggerIncident:TcpCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"requiredInputs":["activated","frequency","request"],"stateInputs":{"description":"Input properties used for looking up and filtering TcpCheck resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpCheckAlertSettings:TcpCheckAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpCheckRequest:TcpCheckRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpCheckRetryStrategy:TcpCheckRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpCheckTriggerIncident:TcpCheckTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"type":"object"}},"checkly:index/tcpMonitor:TcpMonitor":{"description":"TCP checks allow you to monitor remote endpoints at a lower level.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\n// Basic TCP monitor\nconst example_tcp_monitor = new checkly.TcpMonitor(\"example-tcp-monitor\", {\n    name: \"Example TCP monitor\",\n    activated: true,\n    shouldFail: false,\n    frequency: 1,\n    useGlobalAlertSettings: true,\n    locations: [\"us-west-1\"],\n    request: {\n        hostname: \"api.checklyhq.com\",\n        port: 80,\n    },\n});\n// A more complex example using assertions and setting alerts\nconst example_tcp_monitor_2 = new checkly.TcpMonitor(\"example-tcp-monitor-2\", {\n    name: \"Example TCP monitor 2\",\n    activated: true,\n    shouldFail: true,\n    frequency: 1,\n    degradedResponseTime: 5000,\n    maxResponseTime: 10000,\n    locations: [\n        \"us-west-1\",\n        \"ap-northeast-1\",\n        \"ap-south-1\",\n    ],\n    alertSettings: {\n        escalationType: \"RUN_BASED\",\n        runBasedEscalations: [{\n            failedRunThreshold: 1,\n        }],\n        reminders: [{\n            amount: 1,\n        }],\n    },\n    retryStrategy: {\n        type: \"FIXED\",\n        baseBackoffSeconds: 60,\n        maxDurationSeconds: 600,\n        maxRetries: 3,\n        sameRegion: false,\n    },\n    request: {\n        hostname: \"api.checklyhq.com\",\n        port: 80,\n        data: \"hello\",\n        assertions: [\n            {\n                source: \"RESPONSE_DATA\",\n                property: \"\",\n                comparison: \"CONTAINS\",\n                target: \"welcome\",\n            },\n            {\n                source: \"RESPONSE_TIME\",\n                property: \"\",\n                comparison: \"LESS_THAN\",\n                target: \"2000\",\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# Basic TCP monitor\nexample_tcp_monitor = checkly.TcpMonitor(\"example-tcp-monitor\",\n    name=\"Example TCP monitor\",\n    activated=True,\n    should_fail=False,\n    frequency=1,\n    use_global_alert_settings=True,\n    locations=[\"us-west-1\"],\n    request={\n        \"hostname\": \"api.checklyhq.com\",\n        \"port\": 80,\n    })\n# A more complex example using assertions and setting alerts\nexample_tcp_monitor_2 = checkly.TcpMonitor(\"example-tcp-monitor-2\",\n    name=\"Example TCP monitor 2\",\n    activated=True,\n    should_fail=True,\n    frequency=1,\n    degraded_response_time=5000,\n    max_response_time=10000,\n    locations=[\n        \"us-west-1\",\n        \"ap-northeast-1\",\n        \"ap-south-1\",\n    ],\n    alert_settings={\n        \"escalation_type\": \"RUN_BASED\",\n        \"run_based_escalations\": [{\n            \"failed_run_threshold\": 1,\n        }],\n        \"reminders\": [{\n            \"amount\": 1,\n        }],\n    },\n    retry_strategy={\n        \"type\": \"FIXED\",\n        \"base_backoff_seconds\": 60,\n        \"max_duration_seconds\": 600,\n        \"max_retries\": 3,\n        \"same_region\": False,\n    },\n    request={\n        \"hostname\": \"api.checklyhq.com\",\n        \"port\": 80,\n        \"data\": \"hello\",\n        \"assertions\": [\n            {\n                \"source\": \"RESPONSE_DATA\",\n                \"property\": \"\",\n                \"comparison\": \"CONTAINS\",\n                \"target\": \"welcome\",\n            },\n            {\n                \"source\": \"RESPONSE_TIME\",\n                \"property\": \"\",\n                \"comparison\": \"LESS_THAN\",\n                \"target\": \"2000\",\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Basic TCP monitor\n    var example_tcp_monitor = new Checkly.TcpMonitor(\"example-tcp-monitor\", new()\n    {\n        Name = \"Example TCP monitor\",\n        Activated = true,\n        ShouldFail = false,\n        Frequency = 1,\n        UseGlobalAlertSettings = true,\n        Locations = new[]\n        {\n            \"us-west-1\",\n        },\n        Request = new Checkly.Inputs.TcpMonitorRequestArgs\n        {\n            Hostname = \"api.checklyhq.com\",\n            Port = 80,\n        },\n    });\n\n    // A more complex example using assertions and setting alerts\n    var example_tcp_monitor_2 = new Checkly.TcpMonitor(\"example-tcp-monitor-2\", new()\n    {\n        Name = \"Example TCP monitor 2\",\n        Activated = true,\n        ShouldFail = true,\n        Frequency = 1,\n        DegradedResponseTime = 5000,\n        MaxResponseTime = 10000,\n        Locations = new[]\n        {\n            \"us-west-1\",\n            \"ap-northeast-1\",\n            \"ap-south-1\",\n        },\n        AlertSettings = new Checkly.Inputs.TcpMonitorAlertSettingsArgs\n        {\n            EscalationType = \"RUN_BASED\",\n            RunBasedEscalations = new[]\n            {\n                new Checkly.Inputs.TcpMonitorAlertSettingsRunBasedEscalationArgs\n                {\n                    FailedRunThreshold = 1,\n                },\n            },\n            Reminders = new[]\n            {\n                new Checkly.Inputs.TcpMonitorAlertSettingsReminderArgs\n                {\n                    Amount = 1,\n                },\n            },\n        },\n        RetryStrategy = new Checkly.Inputs.TcpMonitorRetryStrategyArgs\n        {\n            Type = \"FIXED\",\n            BaseBackoffSeconds = 60,\n            MaxDurationSeconds = 600,\n            MaxRetries = 3,\n            SameRegion = false,\n        },\n        Request = new Checkly.Inputs.TcpMonitorRequestArgs\n        {\n            Hostname = \"api.checklyhq.com\",\n            Port = 80,\n            Data = \"hello\",\n            Assertions = new[]\n            {\n                new Checkly.Inputs.TcpMonitorRequestAssertionArgs\n                {\n                    Source = \"RESPONSE_DATA\",\n                    Property = \"\",\n                    Comparison = \"CONTAINS\",\n                    Target = \"welcome\",\n                },\n                new Checkly.Inputs.TcpMonitorRequestAssertionArgs\n                {\n                    Source = \"RESPONSE_TIME\",\n                    Property = \"\",\n                    Comparison = \"LESS_THAN\",\n                    Target = \"2000\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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// Basic TCP monitor\n\t\t_, err := checkly.NewTcpMonitor(ctx, \"example-tcp-monitor\", \u0026checkly.TcpMonitorArgs{\n\t\t\tName:                   pulumi.String(\"Example TCP monitor\"),\n\t\t\tActivated:              pulumi.Bool(true),\n\t\t\tShouldFail:             pulumi.Bool(false),\n\t\t\tFrequency:              pulumi.Int(1),\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-1\"),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.TcpMonitorRequestArgs{\n\t\t\t\tHostname: pulumi.String(\"api.checklyhq.com\"),\n\t\t\t\tPort:     pulumi.Int(80),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// A more complex example using assertions and setting alerts\n\t\t_, err = checkly.NewTcpMonitor(ctx, \"example-tcp-monitor-2\", \u0026checkly.TcpMonitorArgs{\n\t\t\tName:                 pulumi.String(\"Example TCP monitor 2\"),\n\t\t\tActivated:            pulumi.Bool(true),\n\t\t\tShouldFail:           pulumi.Bool(true),\n\t\t\tFrequency:            pulumi.Int(1),\n\t\t\tDegradedResponseTime: pulumi.Int(5000),\n\t\t\tMaxResponseTime:      pulumi.Int(10000),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-1\"),\n\t\t\t\tpulumi.String(\"ap-northeast-1\"),\n\t\t\t\tpulumi.String(\"ap-south-1\"),\n\t\t\t},\n\t\t\tAlertSettings: \u0026checkly.TcpMonitorAlertSettingsArgs{\n\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\tRunBasedEscalations: checkly.TcpMonitorAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t\u0026checkly.TcpMonitorAlertSettingsRunBasedEscalationArgs{\n\t\t\t\t\t\tFailedRunThreshold: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReminders: checkly.TcpMonitorAlertSettingsReminderArray{\n\t\t\t\t\t\u0026checkly.TcpMonitorAlertSettingsReminderArgs{\n\t\t\t\t\t\tAmount: pulumi.Int(1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetryStrategy: \u0026checkly.TcpMonitorRetryStrategyArgs{\n\t\t\t\tType:               pulumi.String(\"FIXED\"),\n\t\t\t\tBaseBackoffSeconds: pulumi.Int(60),\n\t\t\t\tMaxDurationSeconds: pulumi.Int(600),\n\t\t\t\tMaxRetries:         pulumi.Int(3),\n\t\t\t\tSameRegion:         pulumi.Bool(false),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.TcpMonitorRequestArgs{\n\t\t\t\tHostname: pulumi.String(\"api.checklyhq.com\"),\n\t\t\t\tPort:     pulumi.Int(80),\n\t\t\t\tData:     pulumi.String(\"hello\"),\n\t\t\t\tAssertions: checkly.TcpMonitorRequestAssertionArray{\n\t\t\t\t\t\u0026checkly.TcpMonitorRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_DATA\"),\n\t\t\t\t\t\tProperty:   pulumi.String(\"\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"CONTAINS\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"welcome\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026checkly.TcpMonitorRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"RESPONSE_TIME\"),\n\t\t\t\t\t\tProperty:   pulumi.String(\"\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"LESS_THAN\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"2000\"),\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.checkly.TcpMonitor;\nimport com.pulumi.checkly.TcpMonitorArgs;\nimport com.pulumi.checkly.inputs.TcpMonitorRequestArgs;\nimport com.pulumi.checkly.inputs.TcpMonitorAlertSettingsArgs;\nimport com.pulumi.checkly.inputs.TcpMonitorRetryStrategyArgs;\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        // Basic TCP monitor\n        var example_tcp_monitor = new TcpMonitor(\"example-tcp-monitor\", TcpMonitorArgs.builder()\n            .name(\"Example TCP monitor\")\n            .activated(true)\n            .shouldFail(false)\n            .frequency(1)\n            .useGlobalAlertSettings(true)\n            .locations(\"us-west-1\")\n            .request(TcpMonitorRequestArgs.builder()\n                .hostname(\"api.checklyhq.com\")\n                .port(80)\n                .build())\n            .build());\n\n        // A more complex example using assertions and setting alerts\n        var example_tcp_monitor_2 = new TcpMonitor(\"example-tcp-monitor-2\", TcpMonitorArgs.builder()\n            .name(\"Example TCP monitor 2\")\n            .activated(true)\n            .shouldFail(true)\n            .frequency(1)\n            .degradedResponseTime(5000)\n            .maxResponseTime(10000)\n            .locations(            \n                \"us-west-1\",\n                \"ap-northeast-1\",\n                \"ap-south-1\")\n            .alertSettings(TcpMonitorAlertSettingsArgs.builder()\n                .escalationType(\"RUN_BASED\")\n                .runBasedEscalations(TcpMonitorAlertSettingsRunBasedEscalationArgs.builder()\n                    .failedRunThreshold(1)\n                    .build())\n                .reminders(TcpMonitorAlertSettingsReminderArgs.builder()\n                    .amount(1)\n                    .build())\n                .build())\n            .retryStrategy(TcpMonitorRetryStrategyArgs.builder()\n                .type(\"FIXED\")\n                .baseBackoffSeconds(60)\n                .maxDurationSeconds(600)\n                .maxRetries(3)\n                .sameRegion(false)\n                .build())\n            .request(TcpMonitorRequestArgs.builder()\n                .hostname(\"api.checklyhq.com\")\n                .port(80)\n                .data(\"hello\")\n                .assertions(                \n                    TcpMonitorRequestAssertionArgs.builder()\n                        .source(\"RESPONSE_DATA\")\n                        .property(\"\")\n                        .comparison(\"CONTAINS\")\n                        .target(\"welcome\")\n                        .build(),\n                    TcpMonitorRequestAssertionArgs.builder()\n                        .source(\"RESPONSE_TIME\")\n                        .property(\"\")\n                        .comparison(\"LESS_THAN\")\n                        .target(\"2000\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Basic TCP monitor\n  example-tcp-monitor:\n    type: checkly:TcpMonitor\n    properties:\n      name: Example TCP monitor\n      activated: true\n      shouldFail: false\n      frequency: 1\n      useGlobalAlertSettings: true\n      locations:\n        - us-west-1\n      request:\n        hostname: api.checklyhq.com\n        port: 80\n  # A more complex example using assertions and setting alerts\n  example-tcp-monitor-2:\n    type: checkly:TcpMonitor\n    properties:\n      name: Example TCP monitor 2\n      activated: true\n      shouldFail: true\n      frequency: 1\n      degradedResponseTime: 5000\n      maxResponseTime: 10000\n      locations:\n        - us-west-1\n        - ap-northeast-1\n        - ap-south-1\n      alertSettings:\n        escalationType: RUN_BASED\n        runBasedEscalations:\n          - failedRunThreshold: 1\n        reminders:\n          - amount: 1\n      retryStrategy:\n        type: FIXED\n        baseBackoffSeconds: 60\n        maxDurationSeconds: 600\n        maxRetries: 3\n        sameRegion: false\n      request:\n        hostname: api.checklyhq.com\n        port: 80\n        data: hello\n        assertions:\n          - source: RESPONSE_DATA\n            property: \"\"\n            comparison: CONTAINS\n            target: welcome\n          - source: RESPONSE_TIME\n            property: \"\"\n            comparison: LESS_THAN\n            target: '2000'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettings:TcpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpMonitorRequest:TcpMonitorRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpMonitorRetryStrategy:TcpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpMonitorTriggerIncident:TcpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"required":["activated","alertSettings","frequency","name","request","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettings:TcpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpMonitorRequest:TcpMonitorRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpMonitorRetryStrategy:TcpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpMonitorTriggerIncident:TcpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"requiredInputs":["activated","frequency","request"],"stateInputs":{"description":"Input properties used for looking up and filtering TcpMonitor resources.\n","properties":{"activated":{"type":"boolean","description":"Determines if the check is running or not. Possible values `true`, and `false`.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/TcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/TcpMonitorAlertSettings:TcpMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered degraded. Possible values are between 0 and 5000. (Default `4000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The id of the check group this check is part of.\n"},"groupOrder":{"type":"integer","description":"The position of this check in a check group. It determines in what order checks are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this check. (Default [\"us-east-1\"])\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds starting from which a check should be considered failing. Possible values are between 0 and 5000. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when a check fails/degrades/recovers.\n"},"name":{"type":"string","description":"The name of the check.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/TcpMonitorRequest:TcpMonitorRequest","description":"The parameters for the TCP connection.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/TcpMonitorRetryStrategy:TcpMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines if the check should run in all selected locations in parallel or round-robin.\n"},"runtimeId":{"type":"string","description":"The ID of the runtime to use for this check.\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when a check is considered to fail.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/TcpMonitorTriggerIncident:TcpMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this check.\n"}},"type":"object"}},"checkly:index/triggerCheck:TriggerCheck":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst testTriggerCheck = new checkly.TriggerCheck(\"test_trigger_check\", {checkId: \"c1ff95c5-d7f6-4a90-9ce2-1e605f117592\"});\nexport const testTriggerCheckUrl = testTriggerCheck.url;\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\ntest_trigger_check = checkly.TriggerCheck(\"test_trigger_check\", check_id=\"c1ff95c5-d7f6-4a90-9ce2-1e605f117592\")\npulumi.export(\"testTriggerCheckUrl\", test_trigger_check.url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testTriggerCheck = new Checkly.TriggerCheck(\"test_trigger_check\", new()\n    {\n        CheckId = \"c1ff95c5-d7f6-4a90-9ce2-1e605f117592\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"testTriggerCheckUrl\"] = testTriggerCheck.Url,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTriggerCheck, err := checkly.NewTriggerCheck(ctx, \"test_trigger_check\", \u0026checkly.TriggerCheckArgs{\n\t\t\tCheckId: pulumi.String(\"c1ff95c5-d7f6-4a90-9ce2-1e605f117592\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"testTriggerCheckUrl\", testTriggerCheck.Url)\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.checkly.TriggerCheck;\nimport com.pulumi.checkly.TriggerCheckArgs;\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 testTriggerCheck = new TriggerCheck(\"testTriggerCheck\", TriggerCheckArgs.builder()\n            .checkId(\"c1ff95c5-d7f6-4a90-9ce2-1e605f117592\")\n            .build());\n\n        ctx.export(\"testTriggerCheckUrl\", testTriggerCheck.url());\n    }\n}\n```\n```yaml\nresources:\n  testTriggerCheck:\n    type: checkly:TriggerCheck\n    name: test_trigger_check\n    properties:\n      checkId: c1ff95c5-d7f6-4a90-9ce2-1e605f117592\noutputs:\n  testTriggerCheckUrl: ${testTriggerCheck.url}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"checkId":{"type":"string","description":"The id of the check that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the check\n"},"url":{"type":"string","description":"The request URL to trigger the check run.\n"}},"required":["checkId","token","url"],"inputProperties":{"checkId":{"type":"string","description":"The id of the check that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the check\n"},"url":{"type":"string","description":"The request URL to trigger the check run.\n"}},"requiredInputs":["checkId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerCheck resources.\n","properties":{"checkId":{"type":"string","description":"The id of the check that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the check\n"},"url":{"type":"string","description":"The request URL to trigger the check run.\n"}},"type":"object"}},"checkly:index/triggerCheckGroup:TriggerCheckGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst testTriggerGroup = new checkly.TriggerCheckGroup(\"test_trigger_group\", {groupId: 215});\nexport const testTriggerGroupUrl = testTriggerGroup.url;\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\ntest_trigger_group = checkly.TriggerCheckGroup(\"test_trigger_group\", group_id=215)\npulumi.export(\"testTriggerGroupUrl\", test_trigger_group.url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testTriggerGroup = new Checkly.TriggerCheckGroup(\"test_trigger_group\", new()\n    {\n        GroupId = 215,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"testTriggerGroupUrl\"] = testTriggerGroup.Url,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestTriggerGroup, err := checkly.NewTriggerCheckGroup(ctx, \"test_trigger_group\", \u0026checkly.TriggerCheckGroupArgs{\n\t\t\tGroupId: pulumi.Int(215),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"testTriggerGroupUrl\", testTriggerGroup.Url)\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.checkly.TriggerCheckGroup;\nimport com.pulumi.checkly.TriggerCheckGroupArgs;\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 testTriggerGroup = new TriggerCheckGroup(\"testTriggerGroup\", TriggerCheckGroupArgs.builder()\n            .groupId(215)\n            .build());\n\n        ctx.export(\"testTriggerGroupUrl\", testTriggerGroup.url());\n    }\n}\n```\n```yaml\nresources:\n  testTriggerGroup:\n    type: checkly:TriggerCheckGroup\n    name: test_trigger_group\n    properties:\n      groupId: '215'\noutputs:\n  testTriggerGroupUrl: ${testTriggerGroup.url}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"groupId":{"type":"integer","description":"The id of the group that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the group\n"},"url":{"type":"string","description":"The request URL to trigger the group run.\n"}},"required":["groupId","token","url"],"inputProperties":{"groupId":{"type":"integer","description":"The id of the group that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the group\n"},"url":{"type":"string","description":"The request URL to trigger the group run.\n"}},"requiredInputs":["groupId"],"stateInputs":{"description":"Input properties used for looking up and filtering TriggerCheckGroup resources.\n","properties":{"groupId":{"type":"integer","description":"The id of the group that you want to attach the trigger to.\n"},"token":{"type":"string","description":"The token value created to trigger the group\n"},"url":{"type":"string","description":"The request URL to trigger the group run.\n"}},"type":"object"}},"checkly:index/urlMonitor:UrlMonitor":{"description":"Creates a URL Monitor to check HTTP endpoint availability and response times.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@checkly/pulumi\";\n\nconst example_url_monitor = new checkly.UrlMonitor(\"example-url-monitor\", {\n    name: \"Example URL monitor\",\n    activated: true,\n    frequency: 2,\n    useGlobalAlertSettings: true,\n    locations: [\"eu-west-1\"],\n    request: {\n        url: \"https://welcome.checklyhq.com\",\n        assertions: [{\n            source: \"STATUS_CODE\",\n            comparison: \"EQUALS\",\n            target: \"200\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\nexample_url_monitor = checkly.UrlMonitor(\"example-url-monitor\",\n    name=\"Example URL monitor\",\n    activated=True,\n    frequency=2,\n    use_global_alert_settings=True,\n    locations=[\"eu-west-1\"],\n    request={\n        \"url\": \"https://welcome.checklyhq.com\",\n        \"assertions\": [{\n            \"source\": \"STATUS_CODE\",\n            \"comparison\": \"EQUALS\",\n            \"target\": \"200\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example_url_monitor = new Checkly.UrlMonitor(\"example-url-monitor\", new()\n    {\n        Name = \"Example URL monitor\",\n        Activated = true,\n        Frequency = 2,\n        UseGlobalAlertSettings = true,\n        Locations = new[]\n        {\n            \"eu-west-1\",\n        },\n        Request = new Checkly.Inputs.UrlMonitorRequestArgs\n        {\n            Url = \"https://welcome.checklyhq.com\",\n            Assertions = new[]\n            {\n                new Checkly.Inputs.UrlMonitorRequestAssertionArgs\n                {\n                    Source = \"STATUS_CODE\",\n                    Comparison = \"EQUALS\",\n                    Target = \"200\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/v2/go/checkly\"\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 := checkly.NewUrlMonitor(ctx, \"example-url-monitor\", \u0026checkly.UrlMonitorArgs{\n\t\t\tName:                   pulumi.String(\"Example URL monitor\"),\n\t\t\tActivated:              pulumi.Bool(true),\n\t\t\tFrequency:              pulumi.Int(2),\n\t\t\tUseGlobalAlertSettings: pulumi.Bool(true),\n\t\t\tLocations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"eu-west-1\"),\n\t\t\t},\n\t\t\tRequest: \u0026checkly.UrlMonitorRequestArgs{\n\t\t\t\tUrl: pulumi.String(\"https://welcome.checklyhq.com\"),\n\t\t\t\tAssertions: checkly.UrlMonitorRequestAssertionArray{\n\t\t\t\t\t\u0026checkly.UrlMonitorRequestAssertionArgs{\n\t\t\t\t\t\tSource:     pulumi.String(\"STATUS_CODE\"),\n\t\t\t\t\t\tComparison: pulumi.String(\"EQUALS\"),\n\t\t\t\t\t\tTarget:     pulumi.String(\"200\"),\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.checkly.UrlMonitor;\nimport com.pulumi.checkly.UrlMonitorArgs;\nimport com.pulumi.checkly.inputs.UrlMonitorRequestArgs;\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 example_url_monitor = new UrlMonitor(\"example-url-monitor\", UrlMonitorArgs.builder()\n            .name(\"Example URL monitor\")\n            .activated(true)\n            .frequency(2)\n            .useGlobalAlertSettings(true)\n            .locations(\"eu-west-1\")\n            .request(UrlMonitorRequestArgs.builder()\n                .url(\"https://welcome.checklyhq.com\")\n                .assertions(UrlMonitorRequestAssertionArgs.builder()\n                    .source(\"STATUS_CODE\")\n                    .comparison(\"EQUALS\")\n                    .target(\"200\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example-url-monitor:\n    type: checkly:UrlMonitor\n    properties:\n      name: Example URL monitor\n      activated: true\n      frequency: 2\n      useGlobalAlertSettings: true\n      locations:\n        - eu-west-1\n      request:\n        url: https://welcome.checklyhq.com\n        assertions:\n          - source: STATUS_CODE\n            comparison: EQUALS\n            target: '200'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettings:UrlMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `30000`. (Default `3000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `30000`. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/UrlMonitorRequest:UrlMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/UrlMonitorRetryStrategy:UrlMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when the monitor is considered to fail. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/UrlMonitorTriggerIncident:UrlMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"required":["activated","alertSettings","frequency","name","request","retryStrategy"],"inputProperties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettings:UrlMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `30000`. (Default `3000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `30000`. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/UrlMonitorRequest:UrlMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/UrlMonitorRetryStrategy:UrlMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when the monitor is considered to fail. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/UrlMonitorTriggerIncident:UrlMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"requiredInputs":["activated","frequency","request"],"stateInputs":{"description":"Input properties used for looking up and filtering UrlMonitor resources.\n","properties":{"activated":{"type":"boolean","description":"Determines whether the monitor will run periodically or not after being deployed.\n"},"alertChannelSubscriptions":{"type":"array","items":{"$ref":"#/types/checkly:index/UrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"},"description":"An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing.\n"},"alertSettings":{"$ref":"#/types/checkly:index/UrlMonitorAlertSettings:UrlMonitorAlertSettings","description":"Determines the alert escalation policy for the monitor.\n"},"degradedResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `30000`. (Default `3000`).\n"},"frequency":{"type":"integer","description":"Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequency_offset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours).\n"},"frequencyOffset":{"type":"integer","description":"When `frequency` is `0` (high frequency), `frequency_offset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds).\n"},"groupId":{"type":"integer","description":"The ID of the check group that this monitor is part of.\n"},"groupOrder":{"type":"integer","description":"The position of the monitor in the check group. It determines in what order checks and monitors are run when a group is triggered from the API or from CI/CD.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"An array of one or more data center locations where to run the this monitor.\n"},"maxResponseTime":{"type":"integer","description":"The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `30000`. (Default `5000`).\n"},"muted":{"type":"boolean","description":"Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`).\n"},"name":{"type":"string","description":"The name of the monitor.\n"},"privateLocations":{"type":"array","items":{"type":"string"},"description":"An array of one or more private locations slugs.\n"},"request":{"$ref":"#/types/checkly:index/UrlMonitorRequest:UrlMonitorRequest","description":"The parameters of the HTTP request.\n"},"retryStrategy":{"$ref":"#/types/checkly:index/UrlMonitorRetryStrategy:UrlMonitorRetryStrategy","description":"A strategy for retrying failed check/monitor runs.\n"},"runParallel":{"type":"boolean","description":"Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`).\n"},"shouldFail":{"type":"boolean","description":"Allows to invert the behaviour of when the monitor is considered to fail. (Default `false`).\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags for organizing and filtering checks and monitors.\n"},"triggerIncident":{"$ref":"#/types/checkly:index/UrlMonitorTriggerIncident:UrlMonitorTriggerIncident","description":"Create and resolve an incident based on the alert configuration. Useful for status page automation.\n"},"useGlobalAlertSettings":{"type":"boolean","description":"When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`).\n"}},"type":"object"}}},"functions":{"checkly:index/getStaticIps:getStaticIps":{"inputs":{"description":"A collection of arguments for invoking getStaticIps.\n","properties":{"ipFamily":{"type":"string","description":"Specify the IP families you want to get static IPs for. Only `IPv6` or `IPv4` are valid options.\n"},"locations":{"type":"array","items":{"type":"string"},"description":"Specify the locations you want to get static IPs for.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getStaticIps.\n","properties":{"addresses":{"description":"Static IP addresses for Checkly's runner infrastructure.\n","items":{"type":"string"},"type":"array"},"id":{"description":"ID of the static IPs data source.\n","type":"string"},"ipFamily":{"description":"Specify the IP families you want to get static IPs for. Only `IPv6` or `IPv4` are valid options.\n","type":"string"},"locations":{"description":"Specify the locations you want to get static IPs for.\n","items":{"type":"string"},"type":"array"}},"required":["addresses","id"],"type":"object"}},"pulumi:providers:checkly/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:checkly/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}