import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates a DNS Monitor to check DNS record availability and response times. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as checkly from "@checkly/pulumi"; * * const example_dns_monitor = new checkly.DnsMonitor("example-dns-monitor", { * name: "Example DNS monitor", * activated: true, * frequency: 2, * useGlobalAlertSettings: true, * locations: ["eu-west-1"], * request: { * recordType: "A", * query: "welcome.checklyhq.com", * nameServer: { * host: "1.1.1.1", * port: 53, * }, * assertions: [{ * source: "RESPONSE_CODE", * comparison: "EQUALS", * target: "NOERROR", * }], * }, * }); * ``` */ export declare class DnsMonitor extends pulumi.CustomResource { /** * Get an existing DnsMonitor resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: DnsMonitorState, opts?: pulumi.CustomResourceOptions): DnsMonitor; /** * Returns true if the given object is an instance of DnsMonitor. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is DnsMonitor; /** * Determines whether the monitor will run periodically or not after being deployed. */ readonly activated: pulumi.Output; /** * An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing. */ readonly alertChannelSubscriptions: pulumi.Output; /** * Determines the alert escalation policy for the monitor. */ readonly alertSettings: pulumi.Output; /** * The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`). */ readonly degradedResponseTime: pulumi.Output; /** * A description of the monitor. */ readonly description: pulumi.Output; /** * Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequencyOffset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours). */ readonly frequency: pulumi.Output; /** * When `frequency` is `0` (high frequency), `frequencyOffset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds). */ readonly frequencyOffset: pulumi.Output; /** * The ID of the check group that this monitor is part of. */ readonly groupId: pulumi.Output; /** * 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. */ readonly groupOrder: pulumi.Output; /** * An array of one or more data center locations where to run the this monitor. */ readonly locations: pulumi.Output; /** * The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`). */ readonly maxResponseTime: pulumi.Output; /** * Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`). */ readonly muted: pulumi.Output; /** * The name of the monitor. */ readonly name: pulumi.Output; /** * The parameters of the HTTP request. */ readonly request: pulumi.Output; /** * A strategy for retrying failed check/monitor runs. */ readonly retryStrategy: pulumi.Output; /** * Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`). */ readonly runParallel: pulumi.Output; /** * A list of tags for organizing and filtering checks and monitors. */ readonly tags: pulumi.Output; /** * Create and resolve an incident based on the alert configuration. Useful for status page automation. */ readonly triggerIncident: pulumi.Output; /** * When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`). */ readonly useGlobalAlertSettings: pulumi.Output; /** * Create a DnsMonitor resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: DnsMonitorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DnsMonitor resources. */ export interface DnsMonitorState { /** * Determines whether the monitor will run periodically or not after being deployed. */ activated?: pulumi.Input; /** * An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing. */ alertChannelSubscriptions?: pulumi.Input[]>; /** * Determines the alert escalation policy for the monitor. */ alertSettings?: pulumi.Input; /** * The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`). */ degradedResponseTime?: pulumi.Input; /** * A description of the monitor. */ description?: pulumi.Input; /** * Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequencyOffset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours). */ frequency?: pulumi.Input; /** * When `frequency` is `0` (high frequency), `frequencyOffset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds). */ frequencyOffset?: pulumi.Input; /** * The ID of the check group that this monitor is part of. */ groupId?: pulumi.Input; /** * 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. */ groupOrder?: pulumi.Input; /** * An array of one or more data center locations where to run the this monitor. */ locations?: pulumi.Input[]>; /** * The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`). */ maxResponseTime?: pulumi.Input; /** * Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`). */ muted?: pulumi.Input; /** * The name of the monitor. */ name?: pulumi.Input; /** * The parameters of the HTTP request. */ request?: pulumi.Input; /** * A strategy for retrying failed check/monitor runs. */ retryStrategy?: pulumi.Input; /** * Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`). */ runParallel?: pulumi.Input; /** * A list of tags for organizing and filtering checks and monitors. */ tags?: pulumi.Input[]>; /** * Create and resolve an incident based on the alert configuration. Useful for status page automation. */ triggerIncident?: pulumi.Input; /** * When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`). */ useGlobalAlertSettings?: pulumi.Input; } /** * The set of arguments for constructing a DnsMonitor resource. */ export interface DnsMonitorArgs { /** * Determines whether the monitor will run periodically or not after being deployed. */ activated: pulumi.Input; /** * An array of channel IDs and whether they're activated or not. If you don't set at least one alert channel subscription for your monitor, we won't be able to alert you even if it starts failing. */ alertChannelSubscriptions?: pulumi.Input[]>; /** * Determines the alert escalation policy for the monitor. */ alertSettings?: pulumi.Input; /** * The response time in milliseconds where the monitor should be considered degraded. Possible values are between `0` and `5000`. (Default `500`). */ degradedResponseTime?: pulumi.Input; /** * A description of the monitor. */ description?: pulumi.Input; /** * Controls how often the monitor should run. Defined in minutes. The allowed values are `0` (high frequency - use `frequencyOffset` to define the actual frequency), `1` (1 minute), `2` (2 minutes), `5` (5 minutes), `10` (10 minutes), `15` (15 minutes), `30` (30 minutes), `60` (1 hour), `120` (2 hours), `180` (3 hours), `360` (6 hours), `720` (12 hours) and `1440` (24 hours). */ frequency: pulumi.Input; /** * When `frequency` is `0` (high frequency), `frequencyOffset` is required and it alone controls how often the monitor should run. Defined in seconds. The allowed values are `0` (disabled - use `frequency` to define the actual frequency), `10` (10 seconds), `20` (20 seconds) and `30` (30 seconds). */ frequencyOffset?: pulumi.Input; /** * The ID of the check group that this monitor is part of. */ groupId?: pulumi.Input; /** * 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. */ groupOrder?: pulumi.Input; /** * An array of one or more data center locations where to run the this monitor. */ locations?: pulumi.Input[]>; /** * The response time in milliseconds where the monitor should be considered failing. Possible values are between `0` and `5000`. (Default `1000`). */ maxResponseTime?: pulumi.Input; /** * Determines if any notifications will be sent out when the monitor fails and/or recovers. (Default `false`). */ muted?: pulumi.Input; /** * The name of the monitor. */ name?: pulumi.Input; /** * The parameters of the HTTP request. */ request: pulumi.Input; /** * A strategy for retrying failed check/monitor runs. */ retryStrategy?: pulumi.Input; /** * Determines whether the monitor should run on all selected locations in parallel or round-robin. (Default `false`). */ runParallel?: pulumi.Input; /** * A list of tags for organizing and filtering checks and monitors. */ tags?: pulumi.Input[]>; /** * Create and resolve an incident based on the alert configuration. Useful for status page automation. */ triggerIncident?: pulumi.Input; /** * When true, the account level alert settings will be used, not the alert setting defined on this monitor. (Default `true`). */ useGlobalAlertSettings?: pulumi.Input; }