UNPKG

@statsig/pulumi-statsig

Version:

A Pulumi package for creating and managing Statsig resources.

427 lines (402 loc) 11.4 kB
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; export interface EntityPropertyIdTypeMapping { /** * Column name linked to the ID. */ column: string; /** * ID for the Statsig unit. */ statsigUnitId: string; } export interface EntityPropertyOwner { /** * The email of the owner. This field is optional. */ ownerEmail: string; /** * ID of the owner */ ownerId: string; /** * The name of the owner. This field is optional. */ ownerName: string; /** * Type of the owner (e.g., SDK_KEY or USER) */ ownerType: string; } export interface ExperimentGroup { description: string; disabled: boolean; foreignGroupId: string; id: string; name: string; parameterValues: {[key: string]: string}; size: number; } export interface ExperimentLink { /** * The title of the link */ title: string; /** * The URL of the link */ url: string; } export interface ExperimentPrimaryMetric { direction: string; hypothesizedValue: number; name: string; type: string; } export interface ExperimentSecondaryMetric { direction: string; hypothesizedValue: number; name: string; type: string; } export interface GateMonitoringMetric { name: string; type: string; } export interface GateRule { /** * The base ID of this rule, i.e. without any added metadata. Will remain the exact same throughout */ baseId: string; /** * An array of Condition objects. */ conditions: outputs.GateRuleCondition[]; /** * The environments this rule is enabled for. */ environments: string[]; /** * The Statsig ID of this rule. */ id: string; /** * The name of this rule. */ name: string; /** * Of the users that meet the conditions of this rule, what percent should return true. */ passPercentage: number; /** * The return value of the rule. */ returnValue: outputs.GateRuleReturnValue; } export interface GateRuleCondition { customId: string; field: string; operator: string; targetValues: string[]; type: string; } export interface GateRuleReturnValue { } export interface MetricFunnelEventList { /** * The name of the funnel event used in the metric. */ name: string; /** * The type of funnel event, specifying how the event is tracked. */ type: string; } export interface MetricMetricComponentMetric { name: string; type: string; } export interface MetricMetricEvent { /** * Filtering criteria for the metric event, including conditions and values to refine the event data. */ criterias: outputs.MetricMetricEventCriteria[]; /** * The key for associated metadata, if applicable. */ metadataKey: string; /** * The name of the metric event. */ name: string; /** * The type of metric event. Allowed values include: count, count_distinct, value, and metadata. */ type: string; } export interface MetricMetricEventCriteria { /** * Optional column specifying which data attribute to filter on. */ column: string; /** * sql*filter, start*withs, ends*with, and after*exposure are only applicable in Warehouse Native */ condition: string; /** * If true, overrides null values in criterion evaluation. */ nullVacuousOverride: boolean; /** * Type of event criterion for filtering metrics. Options include `value`, `metadata`, `user`, and `userCustom`; in Warehouse Native, this should always be `metadata`. */ type: string; /** * Optional array of values for the criterion to match against. */ values: string[]; } export interface MetricSourceCustomFieldMapping { /** * The formula or expression used to compute the custom field value. */ formula: string; /** * The identifier for the custom field mapping. */ key: string; } export interface MetricSourceIdTypeMapping { /** * The corresponding column name in the source that relates to the Statsig unit ID. */ column: string; /** * The identifier mapping for Statsig units. */ statsigUnitId: string; } export interface MetricSourceOwner { /** * The email of the owner. This field is optional. */ ownerEmail: string; /** * ID of the owner */ ownerId: string; /** * The name of the owner. This field is optional. */ ownerName: string; /** * Type of the owner (e.g., SDK_KEY or USER) */ ownerType: string; } export interface MetricWarehouseNative { /** * Allowed: count┃sum┃mean┃daily*participation┃ratio┃funnel┃count*distinct┃percentile */ aggregation: string; /** * Include units which do not have a denominator. Only applicable to ratios. */ allowNullRatioDenominator: boolean; /** * Maximum cap for metric values. */ cap: number; /** * Filtering criteria for the metric source */ criterias: outputs.MetricWarehouseNativeCriteria[]; /** * Attribution window for CUPED adjustments in days. */ cupedAttributionWindow: number; /** * Custom end date for rollup in days since exposure. */ customRollUpEnd: number; /** * Custom start date for rollup in days since exposure. */ customRollUpStart: number; /** * Allowed: count┃sum┃mean┃daily*participation┃ratio┃funnel┃count*distinct┃percentile */ denominatorAggregation: string; /** * Filtering criteria for the denominator metric source, if this metric is a ratio */ denominatorCriterias: outputs.MetricWarehouseNativeDenominatorCriteria[]; /** * Custom end date for rollup in days since exposure. */ denominatorCustomRollupEnd: number; /** * Custom start date for rollup in days since exposure. */ denominatorCustomRollupStart: number; /** * Name of the metric source for the denominator. */ denominatorMetricSourceName: string; /** * Time window for the denominator metric. Specify "custom" for a custom window. */ denominatorRollupTimeWindow: string; /** * Column name for the denominator’s value. */ denominatorValueColumn: string; /** * Duration for counting funnel events in days. */ funnelCalculationWindow: number; /** * Allowed: users┃sessions for distinct count method in funnel events. */ funnelCountDistinct: string; /** * List of funnel events with associated criteria and identifiers. */ funnelEvents: outputs.MetricWarehouseNativeFunnelEvent[]; /** * Allowed: start_event┃exposure to determine funnel start criteria. */ funnelStartCriteria: string; /** * Number of days for metric baking; specify duration for analysis. */ metricBakeDays: number; /** * Specify metadata columns for breaking down metric analysis. */ metricDimensionColumns: string[]; /** * For Count, Sum, Mean, User Count aggregation types: the name of metric source */ metricSourceName: string; /** * Aggregation type for numerator; Allowed: count┃sum┃mean┃daily*participation┃ratio┃funnel┃count*distinct┃percentile. */ numeratorAggregation: string; /** * Flag to include only users with a conversion event in the metric. */ onlyIncludeUsersWithConversionEvent: boolean; /** * Percentile value for statistical calculations. */ percentile: number; /** * General time window for rollup; can specify custom settings. */ rollupTimeWindow: string; /** * Column name representing the metric’s value. */ valueColumn: string; /** * Threshold value for filtering metrics. */ valueThreshold: number; waitForCohortWindow: boolean; /** * High threshold for winsorization; must be between 0 and 1. */ winsorizationHigh: number; /** * Low threshold for winsorization; must be between 0 and 1. */ winsorizationLow: number; } export interface MetricWarehouseNativeCriteria { /** * Optional column specifying which data attribute to filter on. */ column: string; /** * sql*filter, start*withs, ends*with, and after*exposure are only applicable in Warehouse Native */ condition: string; /** * If true, overrides null values in criterion evaluation. */ nullVacuousOverride: boolean; /** * Type of event criterion for filtering metrics. Options include `value`, `metadata`, `user`, and `userCustom`; in Warehouse Native, this should always be `metadata`. */ type: string; /** * Optional array of values for the criterion to match against. */ values: string[]; } export interface MetricWarehouseNativeDenominatorCriteria { /** * Optional column specifying which data attribute to filter on. */ column: string; /** * sql*filter, start*withs, ends*with, and after*exposure are only applicable in Warehouse Native */ condition: string; /** * If true, overrides null values in criterion evaluation. */ nullVacuousOverride: boolean; /** * Type of event criterion for filtering metrics. Options include `value`, `metadata`, `user`, and `userCustom`; in Warehouse Native, this should always be `metadata`. */ type: string; /** * Optional array of values for the criterion to match against. */ values: string[]; } export interface MetricWarehouseNativeFunnelEvent { /** * Optional array of criteria to filter the funnel events, defined by various types and conditions. */ criterias: outputs.MetricWarehouseNativeFunnelEventCriteria[]; /** * Optional name of the metric source associated with the funnel event. */ metricSourceName: string; /** * Optional step name for the funnel event, can be null if not specified. */ name: string; /** * Name of column which being used as session identifier. Funnel event with the same metric source */ sessionIdentifierField: string; } export interface MetricWarehouseNativeFunnelEventCriteria { /** * Optional column specifying which data attribute to filter on. */ column: string; /** * sql*filter, start*withs, ends*with, and after*exposure are only applicable in Warehouse Native */ condition: string; /** * If true, overrides null values in criterion evaluation. */ nullVacuousOverride: boolean; /** * Type of event criterion for filtering metrics. Options include `value`, `metadata`, `user`, and `userCustom`; in Warehouse Native, this should always be `metadata`. */ type: string; /** * Optional array of values for the criterion to match against. */ values: string[]; }