ContinueOps

    continueops

    by: ContinueOps·Resilience & Disaster Recovery

    Published
    Published 3 days ago
    Version
    0.1.0
    Source
    app.terraform.io/continueops/continueops
    Documentation

    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. Prefer entity_id for the org structure.
    • compliance_frameworks (Set of String) Compliance framework slugs (for example dora, iso22301, fca) inherited by the BIAs on this service. At most 50, each up to 64 characters.
    • criticality (String) Business criticality: low, medium, high or critical.
    • dora_function_class (String) DORA Art. 3(22) classification: critical, important or neither. Unset means not yet classified, which is different from a considered neither.
    • ended_on (String) Last day the service is in scope (retired after it), YYYY-MM-DD, not before started_on. Unset while live.
    • entity_id (String) The continueops_org_entity this 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). Default false.
    • kind (String) service, department, process or technology. Default service.
    • 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_id is the API key's own user.
    • parent_id (String) Parent continueops_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 offers FCA, PRA, DORA, NIS2, Ofgem, HHS OCR). Not a framework list: see compliance_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, regulatory or provisional.
    • 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