continueops_service (Resource)
An entry in the services registry: a service, department, process or technology. In-scope services (between started_on and ended_on) are what Coverage counts plans against. A service can be marked an important business service (the FCA/PRA lens, with an impact tolerance) and classified under DORA Art. 3(22); the two are independent questions.
Destroy is a soft delete, as in the UI: plans, BIAs and risks that point at the service keep the reference.
Services are only reachable with an API key minted in its owner's primary tenant.
Example Usage
resource "continueops_service" "faster_payments" {
name = "Faster Payments"
kind = "process"
criticality = "critical"
entity_id = continueops_org_entity.uk.id
is_important_business_service = true
impact_tolerance_hours = 4
tolerance_basis = "board_set"
tolerance_approved_on = "2026-03-31"
compliance_frameworks = ["dora", "fca", "pra"]
regulator_scope = ["FCA", "PRA"]
dora_function_class = "critical"
started_on = "2025-01-01"
}Schema
Required
name(String) Service name, 1-200 characters, no surrounding whitespace.
Optional
business_unit(String) Business unit (free text, as in the UI's Lookups), up to 200 characters. Preferentity_idfor the org structure.compliance_frameworks(Set of String) Compliance framework slugs (for exampledora,iso22301,fca) inherited by the BIAs on this service. At most 50, each up to 64 characters.criticality(String) Business criticality:low,medium,highorcritical.dora_function_class(String) DORA Art. 3(22) classification:critical,importantorneither. Unset means not yet classified, which is different from a consideredneither.ended_on(String) Last day the service is in scope (retired after it),YYYY-MM-DD, not beforestarted_on. Unset while live.entity_id(String) Thecontinueops_org_entitythis service belongs to (lower-case UUID).impact_tolerance_hours(Number) Maximum tolerable disruption, in hours: more than 0, at most 100000, fractions allowed. Distinct from a BCO component's RTO, which must sit within it.is_important_business_service(Boolean) Whether this is an important business service (FCA PS21/3, PRA SS1/21). Defaultfalse.kind(String)service,department,processortechnology. Defaultservice.location(String) Location (free text), up to 200 characters.notes(String) Free-form notes, up to 8000 characters.owner_user_id(String) The service owner (lower-case UUID). The user must be a member of the tenant;data.continueops_tenant.<name>.user_idis the API key's own user.parent_id(String) Parentcontinueops_service(lower-case UUID), for a service that is part of another. Not the service itself, and no cycles.regulator_scope(Set of String) Who regulates the service, as labels (the UI offersFCA,PRA,DORA,NIS2,Ofgem,HHS OCR). Not a framework list: seecompliance_frameworks. At most 50, each up to 64 characters.started_on(String) First day the service is in scope,YYYY-MM-DD. If unset, the platform uses the day it was created and keeps it; removing it from the configuration later keeps the current value.timeouts(Attributes) (see below for nested schema)tolerance_approved_on(String) When the tolerance was approved,YYYY-MM-DD.tolerance_basis(String) Who set the tolerance:board_set,regulatoryorprovisional.tolerance_rationale(String) Why the tolerance is what it is, up to 4000 characters.
Read-Only
created_at(String) When the service was created (RFC 3339, UTC).id(String) Service id (UUID).updated_at(String) When the service last changed (RFC 3339, UTC).
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.read(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
Import is supported using the following syntax:
In Terraform v1.5.0 and later, the import block can be used with the id attribute, for example:
import {
to = continueops_service.example
id = "00000000-0000-4000-8000-000000000000"
}The terraform import command can be used, for example:
# Import by id (UUID), shown in the ContinueOps UI and returned by the API.
terraform import continueops_service.example 00000000-0000-4000-8000-000000000000