Skip to main content

ExternalDataSource

Resource ExternalDataSource in pulumi-posthog.
3 min read

Resource ExternalDataSource in pulumi-posthog.

Pulumi type: posthog:index/externalDataSource:ExternalDataSource.

name is the Pulumi resource name. Nested object fields are documented under that object. They are not arguments of this resource.

Example#

Only required arguments are set. A string in angle brackets stands in for that argument. Any other value is an option or example written in the SDK description.

Arguments#

PropertyTypeRequiredDescription
jobInputsJsonstringyesJSON-encoded connection configuration for the source. Shape depends on sourceType. For example Postgres expects {host, port, database, user, password, schema}; Stripe expects {stripe_account_id, stripe_secret_key}. PostHog redacts secret values when reading, so the plan value is preserved in state. On import, redacted secrets will appear in state until the next apply with real values.
prefixstringnoOptional prefix for synced table names (e.g. stripe_prod_). Useful when connecting multiple sources of the same type. The PostHog update endpoint silently ignores prefix changes for non-direct-postgres sources, so this resource treats it as RequiresReplace.
projectIdstringnoProject ID (environment) for this resource. Overrides the provider-level project_id.
schemasstring[]yesList of table names to sync from the source (e.g. ["users", "orders"]). PostHog discovers available tables from the source; these must match discovered table names. The source-level update endpoint cannot edit the schema list, so changes force destroy+recreate.
sourceTypestringyesSource type recognised by the PostHog data warehouse (e.g. Stripe, Postgres, Snowflake, BigQuery, Hubspot). PostHog defines the set of accepted values and may add new types over time; see the PostHog data warehouse docs for the current list. Cannot be changed after creation.

Outputs#

Computed outputs are produced by the provider. They are not constructor arguments.

PropertyTypeComputedDescription
createdAtstringyesTimestamp when the source was created.
jobInputsJsonstringnoJSON-encoded connection configuration for the source. Shape depends on sourceType. For example Postgres expects {host, port, database, user, password, schema}; Stripe expects {stripe_account_id, stripe_secret_key}. PostHog redacts secret values when reading, so the plan value is preserved in state. On import, redacted secrets will appear in state until the next apply with real values.
lastRunAtstringyesTimestamp of the most recent sync run.
prefixstringnoOptional prefix for synced table names (e.g. stripe_prod_). Useful when connecting multiple sources of the same type. The PostHog update endpoint silently ignores prefix changes for non-direct-postgres sources, so this resource treats it as RequiresReplace.
projectIdstringnoProject ID (environment) for this resource. Overrides the provider-level project_id.
schemasstring[]noList of table names to sync from the source (e.g. ["users", "orders"]). PostHog discovers available tables from the source; these must match discovered table names. The source-level update endpoint cannot edit the schema list, so changes force destroy+recreate.
sourceTypestringnoSource type recognised by the PostHog data warehouse (e.g. Stripe, Postgres, Snowflake, BigQuery, Hubspot). PostHog defines the set of accepted values and may add new types over time; see the PostHog data warehouse docs for the current list. Cannot be changed after creation.
statusstringyesCurrent status reported by PostHog (e.g. Running, Completed, Error).
syncFrequencystringyesSync cadence reported by PostHog. Defaults to 6 hours (5 minutes for CDC schemas) and is not configurable on this resource — the create endpoint does not accept a sync frequency. Reports the value of the first schema; sources with mixed schedules will see this flap. Modify per-schema cadence via the PostHog UI or schemas API.