Skip to content

mixpanel_annotations (Data Source)

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

Example Usage

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

Returns ids (list of raw annotation IDs) and import_ids (list of PROJECT_ID:ANNOTATION_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 annotation 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_annotations" "all" {}

# One import per annotation. 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_annotations.all.import_ids)
  to       = mixpanel_annotation.this[each.key]
  id       = each.value
}

resource "mixpanel_annotation" "this" {
  for_each = toset(data.mixpanel_annotations.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 annotation. 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 annotation in the project.
  • import_ids (List of String) <project_id>:<id> composite import ids for every annotation.