Skip to content

mixpanel_playlists (Data Source)

Lists all Mixpanel Playlists in a project. Use this data source to enumerate every playlist, for example to import them in bulk.

Example Usage

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

The ids attribute contains raw server IDs. The import_ids attribute contains composite <project_id>:<id> identifiers ready for bulk import. See the bulk import guide for usage patterns.

See also: mixpanel_playlist data source, mixpanel_playlist resource.

Bulk import with for_each

Adopt every playlist 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_playlists" "all" {}

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

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