Skip to content

mixpanel_cohorts (Data Source)

Lists every Mixpanel cohort in a project — use it to discover cohort IDs and to bulk-import with for_each. See also mixpanel_cohort data source and mixpanel_cohort resource.

Example Usage

data "mixpanel_cohorts" "all" {
  project_id = 1234567
}

Returns ids (list of raw cohort IDs) and import_ids (list of PROJECT_ID:COHORT_ID composites ready to feed for_each import blocks). See the import guide for the bulk-import pattern.

Bulk import with for_each

Adopt every cohort in the project in one pass: the list data source's import_ids feed a for_each import block, and -generate-config-out scaffolds each resource body for review before you apply.

data "mixpanel_cohorts" "all" {}

# One import per cohort. Both for_each iterate import_ids, so the import block
# and the resource address share the same instance key.
import {
  for_each = toset(data.mixpanel_cohorts.all.import_ids)
  to       = mixpanel_cohort.this[each.key]
  id       = each.value
}

resource "mixpanel_cohort" "this" {
  for_each = toset(data.mixpanel_cohorts.all.import_ids)
  # Body scaffolded by `terraform plan -generate-config-out=generated.tf`,
  # then reviewed and edited before apply.
}

Run terraform plan -generate-config-out=generated.tf, review the generated configuration, then terraform apply to import every cohort. Set project_id on the data source to target a non-default project. See the import guide for gotchas (write-only fields, normalization drift).

Schema

Optional

  • project_id (String) Project id. Falls back to the provider default project.

Read-Only

  • ids (List of String) Raw ids of every cohort in the project.
  • import_ids (List of String) <project_id>:<id> composite import ids for every cohort.