Terraform is a popular Infrastructure-as-Code tool that can be used to quickly provision resources. With the Catchpoint Terraform provider, users can manage (Create, Read, Update, and Delete) Web, API, Transaction, DNS, SSL, BGP, Traceroute, and Ping tests with minimum configurations. To inherit sections such as Scheduling, Advanced Settings, Insights, and Alerts, simply omit the corresponding blocks.
The Terraform Provider can be configured following the steps in this article: Terraform Provider
This article addresses changes to the Terraform provider introduced in version 2.0.0 of the Terraform Provider, to be released in January 2026. If you have configured the original provider, you will need to make the changes listed in the Breaking Changes section below.
Breaking Changes
The January 2026 update to the new version of the Terraform Provider introduces multiple breaking changes. If you are migrating from the older provider to this version, you must be aware of changes listed below.
- Removed
contact_groupsfromalert_settings,notification_groupandalert_rule,notification_group. The new field iscontact_group_idsand expects an array of int (likenode_ids). - Renamed
recipient_email_idstorecipient_emailsas the field takes strings, not ids. - The
schedule_settingsfor a Product are required by the API so they are also now required by the user`s Terraform config. - AlertSubType
handshake_timechanged tohandshake timefor consistency with other types. - AlertSubType
days_to_expirationchanged todays to expirationfor consistency with other types. - For
web_testresources, the monitorobjecthas been renamed tohttp. - For
playwright_testresources, theplaywrightmonitor type was renamed toedgefor clarity. monitoris now required only when the test resource can set more than onemonitortype, i.e. for the following monitors:- BGP (
bgp,bgp basic) - DNS (
dns experience,dns direct) - Ping (
ping icmp,ping tcp,ping udp) - Playwright (
edge,chrome) - Traceroute (
traceroute icmp,traceroute tcp,traceroute udp) - Transaction (
chrome,mobile,emulated) - Web (
chrome,emulated,http,playback,mobile playback,mobile)
- BGP (
- For
playwright_test,puppeteer_test, thetest_script_typefield was made read-only. There is no reason to set this as there is only one option for each. - The various
x_setting_typeattributes in nested blocks can now be set to enforce inheritance. e.g.insights { insight_setting_type = 'inherit' }will ensure that the resource will always inherit the insight settings from the folder or product.
Other Changes
- Updated: Enhanced API errors with more details.
- Updated: now defaulting to latest API version 4.0.
- Updated: Can override the API version by setting
CATCHPOINT_API_VERSION. - Updated: Examples are now part of main documentation.
- Fixed: upstream deletion of an object no longer causes an error but allows the object to be created again.
- Fixed: Schedules, AdvancedSettings, RequestSettings, and InsightSettings should all properly calculate the inherit/override setting.
- Fixed: nested contact_groups now correctly use an int64[] instead of string[].
- Fixed:
schedule_settingsmay now be overridden from a folder or will inherit if omitted. - Updated:
manage_productresource now can be set with either node_group_ids and/or node_ids). - Fixed:
manage_productalways showing as updating when Insights are not set (not yet fixed: resources showing as updating when alerts are defined). - Fixed:
manage_productresource type always requires a schedule and validation has been moved up front. - Fixed:
manage_productcan now set DNS AlertTypes. - Updated: Tests may now be moved between different folder_ids and product_ids.
- Updated: the values in the
thresholdsblock are no longer required. - Fixed:
traceroute_testschema was allowing unsupported additional settings (additional_monitor, bandwidth_throttling). - Fixed:
web_testcould not update userAgentTypeID changes (simulatefield). - Fixed: perpetual diff in testscript inputs.
- Fixed: added missing "gateway_address_or_host" setting to SSL schema.
- Fixed:
ssltest resource now validates the test_location field as part of the schema. - Fixed: Playwright and Puppeteer test types errantly offered
chrome_versionandsimulatefields. - Fixed:
end_dateis no longer a required field. Note: sometimes the API may require it, but the Terraform Provider does not. - Fixed: node_group_ids were not updating for already created tests.