continueops_org_entity (Resource)
A node of the organisation structure: a group, market, function, site or other unit. BIAs, plans, services (continueops_service.entity_id), exercises and risks (continueops_risk.entity_id) are assigned to entities, and the governance matrix rolls their status up the tree.
Every field, including parent_id, changes in place. The API refuses a parent that would make the tree a cycle.
Destroy is a soft delete, as in the UI: any child entities move up to this entity's parent, and records assigned to it keep the reference. Children managed in the same configuration reference this entity, so Terraform destroys or repoints them first.
Org entities are only reachable with an API key minted in its owner's primary tenant.
Example Usage
data "continueops_tenant" "me" {}
resource "continueops_org_entity" "group" {
name = "Acme Group"
kind = "group"
}
resource "continueops_org_entity" "uk" {
name = "United Kingdom"
kind = "market"
parent_id = continueops_org_entity.group.id
owner_user_id = data.continueops_tenant.me.user_id
external_ref = "LE-UK-001"
sort_order = 1
}Schema
Required
name(String) Entity name, 1-200 characters, no surrounding whitespace. Not unique: two markets can each have aRetail Bankingfunction.
Optional
deputy_user_id(String) The deputy 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.external_ref(String) Reference in another system (an HR or legal-entity code), up to 200 characters.kind(String) What the entity is:group,market,function,siteorother. Defaultfunction.owner_user_id(String) The accountable owner, who approves this entity's plans inentity_ownerpublish mode (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) Id of the parentcontinueops_org_entity(lower-case UUID). Unset for a root entity.sort_order(Number) Position among its siblings (lower first, then by name), -1000000 to 1000000. Default0.timeouts(Attributes) (see below for nested schema)
Read-Only
created_at(String) When the entity was created (RFC 3339, UTC).id(String) Entity id (UUID).updated_at(String) When the entity 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_org_entity.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_org_entity.example 00000000-0000-4000-8000-000000000000