{
  "name": "checkly",
  "displayName": "Checkly",
  "version": "2.7.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": "> This provider is a derived work of the [Terraform Provider](https://github.com/checkly/terraform-provider-checkly)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-checkly` repo](https://github.com/checkly/pulumi-checkly/issues); however, if that doesn't turn up anything,\n> 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": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/checkly/terraform-provider-checkly)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-checkly` repo](https://github.com/checkly/pulumi-checkly/issues); however, if that doesn't turn up anything,\n> 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"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FCheckAlertSettingsParallelRunFailureThreshold:CheckAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckAlertSettingsReminder:CheckAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckAlertSettingsRunBasedEscalation:CheckAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "sslCertificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckAlertSettingsSslCertificate: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%2FCheckAlertSettingsTimeBasedEscalation: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"
        },
        "locked": {
          "type": "boolean"
        },
        "secret": {
          "type": "boolean"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "key",
        "value"
      ]
    },
    "checkly:index/CheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription": {
      "properties": {
        "activated": {
          "type": "boolean"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FCheckGroupAlertSettingsParallelRunFailureThreshold:CheckGroupAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckGroupAlertSettingsReminder:CheckGroupAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckGroupAlertSettingsRunBasedEscalation:CheckGroupAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "sslCertificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckGroupAlertSettingsSslCertificate: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%2FCheckGroupAlertSettingsTimeBasedEscalation: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%2FCheckGroupApiCheckDefaultsAssertion:CheckGroupApiCheckDefaultsAssertion"
          }
        },
        "basicAuth": {
          "$ref": "#/types/checkly:index%2FCheckGroupApiCheckDefaultsBasicAuth: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"
        },
        "locked": {
          "type": "boolean"
        },
        "secret": {
          "type": "boolean"
        },
        "value": {
          "type": "string"
        }
      },
      "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%2FCheckGroupRetryStrategyOnlyOn: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/CheckRequest:CheckRequest": {
      "properties": {
        "assertions": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FCheckRequestAssertion:CheckRequestAssertion"
          },
          "description": "A request can have multiple assertions.\n"
        },
        "basicAuth": {
          "$ref": "#/types/checkly:index%2FCheckRequestBasicAuth:CheckRequestBasicAuth",
          "description": "Set up HTTP basic authentication (username & 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%2FCheckRetryStrategyOnlyOn: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%2FDnsMonitorAlertSettingsParallelRunFailureThreshold:DnsMonitorAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettingsReminder:DnsMonitorAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettingsRunBasedEscalation:DnsMonitorAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "timeBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettingsTimeBasedEscalation: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%2FDnsMonitorRequestAssertion:DnsMonitorRequestAssertion"
          },
          "description": "Assertions to validate the HTTP response. DNS monitors only support status code assertions.\n"
        },
        "nameServer": {
          "$ref": "#/types/checkly:index%2FDnsMonitorRequestNameServer: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%2FDnsMonitorRetryStrategyOnlyOn: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": {
      "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/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"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FHeartbeatCheckAlertSettingsParallelRunFailureThreshold:HeartbeatCheckAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettingsReminder:HeartbeatCheckAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettingsRunBasedEscalation:HeartbeatCheckAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "sslCertificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettingsSslCertificate: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%2FHeartbeatCheckAlertSettingsTimeBasedEscalation: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"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FHeartbeatMonitorAlertSettingsParallelRunFailureThreshold:HeartbeatMonitorAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettingsReminder:HeartbeatMonitorAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettingsRunBasedEscalation:HeartbeatMonitorAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "sslCertificates": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettingsSslCertificate: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%2FHeartbeatMonitorAlertSettingsTimeBasedEscalation: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/StatusPageCard:StatusPageCard": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the card.\n"
        },
        "serviceAttachments": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FStatusPageCardServiceAttachment: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"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FTcpCheckAlertSettingsParallelRunFailureThreshold:TcpCheckAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpCheckAlertSettingsReminder:TcpCheckAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpCheckAlertSettingsRunBasedEscalation:TcpCheckAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "timeBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpCheckAlertSettingsTimeBasedEscalation: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%2FTcpCheckRequestAssertion: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%2FTcpCheckRetryStrategyOnlyOn: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": {
      "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/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"
        },
        "channelId": {
          "type": "integer"
        }
      },
      "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%2FTcpMonitorAlertSettingsParallelRunFailureThreshold:TcpMonitorAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettingsReminder:TcpMonitorAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettingsRunBasedEscalation:TcpMonitorAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "timeBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettingsTimeBasedEscalation: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%2FTcpMonitorRequestAssertion: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%2FTcpMonitorRetryStrategyOnlyOn: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": {
      "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/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%2FUrlMonitorAlertSettingsParallelRunFailureThreshold:UrlMonitorAlertSettingsParallelRunFailureThreshold"
          },
          "description": "Configuration for parallel run failure threshold.\n"
        },
        "reminders": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettingsReminder:UrlMonitorAlertSettingsReminder"
          },
          "description": "Defines how often to send reminder notifications after initial alert.\n"
        },
        "runBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettingsRunBasedEscalation:UrlMonitorAlertSettingsRunBasedEscalation"
          },
          "description": "Configuration for run-based escalation.\n"
        },
        "timeBasedEscalations": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettingsTimeBasedEscalation: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%2FUrlMonitorRequestAssertion: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%2FUrlMonitorRetryStrategyOnlyOn: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"
      }
    },
    "type": "object",
    "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.AlertChannelArgs{\n\t\t\tEmail: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tSms: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tSlack: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tOpsgenie: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tPagerduty: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tWebhook: &checkly.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\", &checkly.AlertChannelArgs{\n\t\t\tWebhook: &checkly.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\", &checkly.CheckArgs{\n\t\t\tName: pulumi.String(\"Example check\"),\n\t\t\tAlertChannelSubscriptions: checkly.CheckAlertChannelSubscriptionArray{\n\t\t\t\t&checkly.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&checkly.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<!--End PulumiCodeChooser -->\n",
      "properties": {
        "call": {
          "$ref": "#/types/checkly:index%2FAlertChannelCall:AlertChannelCall"
        },
        "email": {
          "$ref": "#/types/checkly:index%2FAlertChannelEmail:AlertChannelEmail"
        },
        "opsgenie": {
          "$ref": "#/types/checkly:index%2FAlertChannelOpsgenie:AlertChannelOpsgenie"
        },
        "pagerduty": {
          "$ref": "#/types/checkly:index%2FAlertChannelPagerduty: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%2FAlertChannelSlack:AlertChannelSlack"
        },
        "sms": {
          "$ref": "#/types/checkly:index%2FAlertChannelSms: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%2FAlertChannelWebhook:AlertChannelWebhook"
        }
      },
      "type": "object",
      "inputProperties": {
        "call": {
          "$ref": "#/types/checkly:index%2FAlertChannelCall:AlertChannelCall"
        },
        "email": {
          "$ref": "#/types/checkly:index%2FAlertChannelEmail:AlertChannelEmail"
        },
        "opsgenie": {
          "$ref": "#/types/checkly:index%2FAlertChannelOpsgenie:AlertChannelOpsgenie"
        },
        "pagerduty": {
          "$ref": "#/types/checkly:index%2FAlertChannelPagerduty: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%2FAlertChannelSlack:AlertChannelSlack"
        },
        "sms": {
          "$ref": "#/types/checkly:index%2FAlertChannelSms: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%2FAlertChannelWebhook:AlertChannelWebhook"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AlertChannel resources.\n",
        "properties": {
          "call": {
            "$ref": "#/types/checkly:index%2FAlertChannelCall:AlertChannelCall"
          },
          "email": {
            "$ref": "#/types/checkly:index%2FAlertChannelEmail:AlertChannelEmail"
          },
          "opsgenie": {
            "$ref": "#/types/checkly:index%2FAlertChannelOpsgenie:AlertChannelOpsgenie"
          },
          "pagerduty": {
            "$ref": "#/types/checkly:index%2FAlertChannelPagerduty: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%2FAlertChannelSlack:AlertChannelSlack"
          },
          "sms": {
            "$ref": "#/types/checkly:index%2FAlertChannelSms: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%2FAlertChannelWebhook: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%2FCheckAlertChannelSubscription:CheckAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FCheckAlertSettings: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%2FCheckEnvironmentVariable:CheckEnvironmentVariable"
          },
          "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
        },
        "environmentVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
          "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
        },
        "frequency": {
          "type": "integer",
          "description": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "This property only valid for API high frequency checks. To create a hight frequency check, the property `frequency` must be `0` and `frequency_offset` could be `10`, `20` or `30`.\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%2FCheckRequest:CheckRequest",
          "description": "An API check might have one request config.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FCheckRetryStrategy: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%2FCheckTriggerIncident: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",
      "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%2FCheckAlertChannelSubscription:CheckAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FCheckAlertSettings: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%2FCheckEnvironmentVariable:CheckEnvironmentVariable"
          },
          "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
        },
        "environmentVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
          "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
        },
        "frequency": {
          "type": "integer",
          "description": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "This property only valid for API high frequency checks. To create a hight frequency check, the property `frequency` must be `0` and `frequency_offset` could be `10`, `20` or `30`.\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%2FCheckRequest:CheckRequest",
          "description": "An API check might have one request config.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FCheckRetryStrategy: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%2FCheckTriggerIncident: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%2FCheckAlertChannelSubscription:CheckAlertChannelSubscription"
            },
            "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FCheckAlertSettings: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%2FCheckEnvironmentVariable:CheckEnvironmentVariable"
            },
            "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
          },
          "environmentVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
            "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
          },
          "frequency": {
            "type": "integer",
            "description": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
          },
          "frequencyOffset": {
            "type": "integer",
            "description": "This property only valid for API high frequency checks. To create a hight frequency check, the property `frequency` must be `0` and `frequency_offset` could be `10`, `20` or `30`.\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%2FCheckRequest:CheckRequest",
            "description": "An API check might have one request config.\n"
          },
          "retryStrategy": {
            "$ref": "#/types/checkly:index%2FCheckRetryStrategy: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%2FCheckTriggerIncident: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%2FCheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FCheckGroupAlertSettings:CheckGroupAlertSettings",
          "description": "Determines the alert escalation policy for the check.\n"
        },
        "apiCheckDefaults": {
          "$ref": "#/types/checkly:index%2FCheckGroupApiCheckDefaults: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%2FCheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"
          },
          "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
        },
        "environmentVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
          "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
        },
        "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%2FCheckGroupRetryStrategy: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",
      "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%2FCheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FCheckGroupAlertSettings:CheckGroupAlertSettings",
          "description": "Determines the alert escalation policy for the check.\n"
        },
        "apiCheckDefaults": {
          "$ref": "#/types/checkly:index%2FCheckGroupApiCheckDefaults: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%2FCheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"
          },
          "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
        },
        "environmentVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
          "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
        },
        "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%2FCheckGroupRetryStrategy: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%2FCheckGroupAlertChannelSubscription:CheckGroupAlertChannelSubscription"
            }
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FCheckGroupAlertSettings:CheckGroupAlertSettings",
            "description": "Determines the alert escalation policy for the check.\n"
          },
          "apiCheckDefaults": {
            "$ref": "#/types/checkly:index%2FCheckGroupApiCheckDefaults: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%2FCheckGroupEnvironmentVariable:CheckGroupEnvironmentVariable"
            },
            "description": "Key/value pairs for setting environment variables during check execution, add locked = true to keep value hidden, add secret = true to create a secret variable. These are only relevant for browser checks. Use global environment variables whenever possible.\n"
          },
          "environmentVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible.\n",
            "deprecationMessage": "The property `environment_variables` is deprecated and will be removed in a future version. Consider using the new `environment_variable` list."
          },
          "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%2FCheckGroupRetryStrategy: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/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"
        }
      },
      "type": "object",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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: &checkly.DnsMonitorRequestArgs{\n\t\t\t\tRecordType: pulumi.String(\"A\"),\n\t\t\t\tQuery:      pulumi.String(\"welcome.checklyhq.com\"),\n\t\t\t\tNameServer: &checkly.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&checkly.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<!--End PulumiCodeChooser -->\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%2FDnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FDnsMonitorRequest:DnsMonitorRequest",
          "description": "The parameters of the HTTP request.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FDnsMonitorRetryStrategy: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%2FDnsMonitorTriggerIncident: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",
      "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%2FDnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FDnsMonitorRequest:DnsMonitorRequest",
          "description": "The parameters of the HTTP request.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FDnsMonitorRetryStrategy: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%2FDnsMonitorTriggerIncident: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%2FDnsMonitorAlertChannelSubscription:DnsMonitorAlertChannelSubscription"
            },
            "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FDnsMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
          },
          "frequencyOffset": {
            "type": "integer",
            "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FDnsMonitorRequest:DnsMonitorRequest",
            "description": "The parameters of the HTTP request.\n"
          },
          "retryStrategy": {
            "$ref": "#/types/checkly:index%2FDnsMonitorRetryStrategy: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%2FDnsMonitorTriggerIncident: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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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\", &checkly.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<!--End PulumiCodeChooser -->\n",
      "properties": {
        "key": {
          "type": "string"
        },
        "locked": {
          "type": "boolean"
        },
        "secret": {
          "type": "boolean"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.HeartbeatCheckArgs{\n\t\t\tName:      pulumi.String(\"Example heartbeat\"),\n\t\t\tActivated: pulumi.Bool(true),\n\t\t\tHeartbeat: &checkly.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<!--End PulumiCodeChooser -->\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%2FHeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings",
          "description": "Determines the alert escalation policy for the monitor.\n"
        },
        "heartbeat": {
          "$ref": "#/types/checkly:index%2FHeartbeatCheckHeartbeat: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%2FHeartbeatCheckTriggerIncident: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",
      "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%2FHeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings",
          "description": "Determines the alert escalation policy for the monitor.\n"
        },
        "heartbeat": {
          "$ref": "#/types/checkly:index%2FHeartbeatCheckHeartbeat: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%2FHeartbeatCheckTriggerIncident: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%2FHeartbeatCheckAlertChannelSubscription:HeartbeatCheckAlertChannelSubscription"
            }
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FHeartbeatCheckAlertSettings:HeartbeatCheckAlertSettings",
            "description": "Determines the alert escalation policy for the monitor.\n"
          },
          "heartbeat": {
            "$ref": "#/types/checkly:index%2FHeartbeatCheckHeartbeat: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%2FHeartbeatCheckTriggerIncident: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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.HeartbeatMonitorArgs{\n\t\t\tName:      pulumi.String(\"Example heartbeat monitor\"),\n\t\t\tActivated: pulumi.Bool(true),\n\t\t\tHeartbeat: &checkly.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<!--End PulumiCodeChooser -->\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%2FHeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings",
          "description": "Determines the alert escalation policy for the monitor.\n"
        },
        "heartbeat": {
          "$ref": "#/types/checkly:index%2FHeartbeatMonitorHeartbeat: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%2FHeartbeatMonitorTriggerIncident: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",
      "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%2FHeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"
          }
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings",
          "description": "Determines the alert escalation policy for the monitor.\n"
        },
        "heartbeat": {
          "$ref": "#/types/checkly:index%2FHeartbeatMonitorHeartbeat: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%2FHeartbeatMonitorTriggerIncident: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%2FHeartbeatMonitorAlertChannelSubscription:HeartbeatMonitorAlertChannelSubscription"
            }
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FHeartbeatMonitorAlertSettings:HeartbeatMonitorAlertSettings",
            "description": "Determines the alert escalation policy for the monitor.\n"
          },
          "heartbeat": {
            "$ref": "#/types/checkly:index%2FHeartbeatMonitorHeartbeat: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%2FHeartbeatMonitorTriggerIncident: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/maintenanceWindow:MaintenanceWindow": {
      "description": "## Example Usage\n\n<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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/privateLocation:PrivateLocation": {
      "description": "## Example Usage\n\n<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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\", &checkly.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\", &checkly.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&checkly.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&checkly.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&checkly.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<!--End PulumiCodeChooser -->\n",
      "properties": {
        "cards": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FStatusPageCard: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",
      "required": [
        "cards",
        "name",
        "url"
      ],
      "inputProperties": {
        "cards": {
          "type": "array",
          "items": {
            "$ref": "#/types/checkly:index%2FStatusPageCard: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%2FStatusPageCard: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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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\", &checkly.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<!--End PulumiCodeChooser -->\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service.\n"
        }
      },
      "type": "object",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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: &checkly.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\", &checkly.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: &checkly.TcpCheckAlertSettingsArgs{\n\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\tRunBasedEscalations: checkly.TcpCheckAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t&checkly.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&checkly.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: &checkly.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: &checkly.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&checkly.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&checkly.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<!--End PulumiCodeChooser -->\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%2FTcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FTcpCheckAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpCheckRequest:TcpCheckRequest",
          "description": "The parameters for the TCP connection.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FTcpCheckRetryStrategy: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%2FTcpCheckTriggerIncident: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",
      "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%2FTcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FTcpCheckAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpCheckRequest:TcpCheckRequest",
          "description": "The parameters for the TCP connection.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FTcpCheckRetryStrategy: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%2FTcpCheckTriggerIncident: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%2FTcpCheckAlertChannelSubscription:TcpCheckAlertChannelSubscription"
            },
            "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FTcpCheckAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
          },
          "frequencyOffset": {
            "type": "integer",
            "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpCheckRequest:TcpCheckRequest",
            "description": "The parameters for the TCP connection.\n"
          },
          "retryStrategy": {
            "$ref": "#/types/checkly:index%2FTcpCheckRetryStrategy: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%2FTcpCheckTriggerIncident: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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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: &checkly.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\", &checkly.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: &checkly.TcpMonitorAlertSettingsArgs{\n\t\t\t\tEscalationType: pulumi.String(\"RUN_BASED\"),\n\t\t\t\tRunBasedEscalations: checkly.TcpMonitorAlertSettingsRunBasedEscalationArray{\n\t\t\t\t\t&checkly.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&checkly.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: &checkly.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: &checkly.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&checkly.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&checkly.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<!--End PulumiCodeChooser -->\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%2FTcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpMonitorRequest:TcpMonitorRequest",
          "description": "The parameters for the TCP connection.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FTcpMonitorRetryStrategy: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%2FTcpMonitorTriggerIncident: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",
      "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%2FTcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpMonitorRequest:TcpMonitorRequest",
          "description": "The parameters for the TCP connection.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FTcpMonitorRetryStrategy: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%2FTcpMonitorTriggerIncident: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%2FTcpMonitorAlertChannelSubscription:TcpMonitorAlertChannelSubscription"
            },
            "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your check, we won't be able to alert you in case something goes wrong with it.\n"
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FTcpMonitorAlertSettings: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": "The frequency in minutes to run the check. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
          },
          "frequencyOffset": {
            "type": "integer",
            "description": "To create a high frequency check, the property `frequency` must be `0` and `frequency_offset` can be `10`, `20` or `30`.\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%2FTcpMonitorRequest:TcpMonitorRequest",
            "description": "The parameters for the TCP connection.\n"
          },
          "retryStrategy": {
            "$ref": "#/types/checkly:index%2FTcpMonitorRetryStrategy: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%2FTcpMonitorTriggerIncident: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<!--Start PulumiCodeChooser -->\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(() => \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<string, object?>\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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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<!--Start PulumiCodeChooser -->\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(() => \n{\n    var testTriggerGroup = new Checkly.TriggerCheckGroup(\"test_trigger_group\", new()\n    {\n        GroupId = 215,\n    });\n\n    return new Dictionary<string, object?>\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\", &checkly.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<!--End PulumiCodeChooser -->\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",
      "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<!--Start PulumiCodeChooser -->\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(() => \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\", &checkly.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: &checkly.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&checkly.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<!--End PulumiCodeChooser -->\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%2FUrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FUrlMonitorRequest:UrlMonitorRequest",
          "description": "The parameters of the HTTP request.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FUrlMonitorRetryStrategy: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%2FUrlMonitorTriggerIncident: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",
      "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%2FUrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"
          },
          "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
        },
        "alertSettings": {
          "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
        },
        "frequencyOffset": {
          "type": "integer",
          "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FUrlMonitorRequest:UrlMonitorRequest",
          "description": "The parameters of the HTTP request.\n"
        },
        "retryStrategy": {
          "$ref": "#/types/checkly:index%2FUrlMonitorRetryStrategy: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%2FUrlMonitorTriggerIncident: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%2FUrlMonitorAlertChannelSubscription:UrlMonitorAlertChannelSubscription"
            },
            "description": "An array of channel IDs and whether they're activated or not. If you don't set at least one alert subscription for your monitor, we won't be able to alert you.\n"
          },
          "alertSettings": {
            "$ref": "#/types/checkly:index%2FUrlMonitorAlertSettings: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": "How often the monitor should run in minutes. Possible values are `0`, `1`, `2`, `5`, `10`, `15`, `30`, `60`, `120`, `180`, `360`, `720`, and `1440`.\n"
          },
          "frequencyOffset": {
            "type": "integer",
            "description": "To create a high frequency monitor, set `frequency` to `0` and `frequency_offset` to `10`, `20`, or `30`.\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%2FUrlMonitorRequest:UrlMonitorRequest",
            "description": "The parameters of the HTTP request.\n"
          },
          "retryStrategy": {
            "$ref": "#/types/checkly:index%2FUrlMonitorRetryStrategy: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%2FUrlMonitorTriggerIncident: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__": {
            "$ref": "#/resources/pulumi:providers:checkly"
          }
        },
        "type": "object",
        "required": [
          "__self__"
        ]
      },
      "outputs": {
        "properties": {
          "result": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "type": "object"
          }
        },
        "required": [
          "result"
        ],
        "type": "object"
      }
    }
  }
}
