UNPKG

@statsig/pulumi-statsig

Version:

A Pulumi package for creating and managing Statsig resources.

288 lines (287 loc) 11 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource allows you to configure metrics for your Statsig project. * * To learn more about metrics, see [Metrics Documentation](https://docs.statsig.com/metrics/101) * * To learn more about the API powering this resource, see [Metrics API Documentation](https://docs.statsig.com/console-api/metrics) * * > Note: [Warehouse Native](https://docs.statsig.com/statsig-warehouse-native/introduction/) metrics can only be used in Warehouse Native projects */ export declare class Metric extends pulumi.CustomResource { /** * Get an existing Metric resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MetricState, opts?: pulumi.CustomResourceOptions): Metric; /** * Returns true if the given object is an instance of Metric. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Metric; /** * Custom time window end date in days since exposure. */ readonly customRollUpEnd: pulumi.Output<number>; /** * Custom time window start date in days since exposure. */ readonly customRollUpStart: pulumi.Output<number>; /** * A description of the new metric, providing context and purpose. */ readonly description: pulumi.Output<string>; /** * Indicates the desired change direction for the metric. Use "increase" for positive changes and "decrease" for negative changes. */ readonly directionality: pulumi.Output<string>; /** * Skips persisting the metric (used to validate that inputs are correct) */ readonly dryRun: pulumi.Output<boolean>; /** * Specifies whether to count events or distinct users for the funnel metric. */ readonly funnelCountDistinct: pulumi.Output<string>; /** * List of events used to create funnel metrics. */ readonly funnelEventLists: pulumi.Output<outputs.MetricFunnelEventList[]>; /** * Indicates whether the metric is permanent and should not be deleted. */ readonly isPermanent: pulumi.Output<boolean>; /** * Set to true to make the metric definition editable only from the Console API. */ readonly isReadOnly: pulumi.Output<boolean>; /** * Marks the metric as verified for internal trustworthiness. */ readonly isVerified: pulumi.Output<boolean>; /** * List of input metrics used to calculate the new metric for composite types. */ readonly metricComponentMetrics: pulumi.Output<outputs.MetricMetricComponentMetric[]>; /** * An array of event definitions used to compute the metric. */ readonly metricEvents: pulumi.Output<outputs.MetricMetricEvent[]>; /** * The name of the new metric, which identifies it within the system. */ readonly name: pulumi.Output<string>; /** * Time window for the metric rollup. Specify "custom" for a customized time window. */ readonly rollupTimeWindow: pulumi.Output<string>; /** * Tags associated with the metric for categorization and searchability. */ readonly tags: pulumi.Output<string[]>; /** * The team associated with the metric, applicable for enterprise environments. */ readonly team: pulumi.Output<string>; /** * The team ID associated with the metric, applicable for enterprise environments. */ readonly teamId: pulumi.Output<string>; /** * The type of the metric. Allowed values include sum, ratio, mean, event*count*sum, composite, composite*sum, undefined, funnel, user*warehouse. */ readonly type: pulumi.Output<string>; /** * Array of unit types associated with the metric, such as stableID or userID. */ readonly unitTypes: pulumi.Output<string[]>; /** * Defines warehouse native metrics for advanced configurations. */ readonly warehouseNative: pulumi.Output<outputs.MetricWarehouseNative>; /** * Create a Metric resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MetricArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Metric resources. */ export interface MetricState { /** * Custom time window end date in days since exposure. */ customRollUpEnd?: pulumi.Input<number>; /** * Custom time window start date in days since exposure. */ customRollUpStart?: pulumi.Input<number>; /** * A description of the new metric, providing context and purpose. */ description?: pulumi.Input<string>; /** * Indicates the desired change direction for the metric. Use "increase" for positive changes and "decrease" for negative changes. */ directionality?: pulumi.Input<string>; /** * Skips persisting the metric (used to validate that inputs are correct) */ dryRun?: pulumi.Input<boolean>; /** * Specifies whether to count events or distinct users for the funnel metric. */ funnelCountDistinct?: pulumi.Input<string>; /** * List of events used to create funnel metrics. */ funnelEventLists?: pulumi.Input<pulumi.Input<inputs.MetricFunnelEventList>[]>; /** * Indicates whether the metric is permanent and should not be deleted. */ isPermanent?: pulumi.Input<boolean>; /** * Set to true to make the metric definition editable only from the Console API. */ isReadOnly?: pulumi.Input<boolean>; /** * Marks the metric as verified for internal trustworthiness. */ isVerified?: pulumi.Input<boolean>; /** * List of input metrics used to calculate the new metric for composite types. */ metricComponentMetrics?: pulumi.Input<pulumi.Input<inputs.MetricMetricComponentMetric>[]>; /** * An array of event definitions used to compute the metric. */ metricEvents?: pulumi.Input<pulumi.Input<inputs.MetricMetricEvent>[]>; /** * The name of the new metric, which identifies it within the system. */ name?: pulumi.Input<string>; /** * Time window for the metric rollup. Specify "custom" for a customized time window. */ rollupTimeWindow?: pulumi.Input<string>; /** * Tags associated with the metric for categorization and searchability. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The team associated with the metric, applicable for enterprise environments. */ team?: pulumi.Input<string>; /** * The team ID associated with the metric, applicable for enterprise environments. */ teamId?: pulumi.Input<string>; /** * The type of the metric. Allowed values include sum, ratio, mean, event*count*sum, composite, composite*sum, undefined, funnel, user*warehouse. */ type?: pulumi.Input<string>; /** * Array of unit types associated with the metric, such as stableID or userID. */ unitTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Defines warehouse native metrics for advanced configurations. */ warehouseNative?: pulumi.Input<inputs.MetricWarehouseNative>; } /** * The set of arguments for constructing a Metric resource. */ export interface MetricArgs { /** * Custom time window end date in days since exposure. */ customRollUpEnd?: pulumi.Input<number>; /** * Custom time window start date in days since exposure. */ customRollUpStart?: pulumi.Input<number>; /** * A description of the new metric, providing context and purpose. */ description?: pulumi.Input<string>; /** * Indicates the desired change direction for the metric. Use "increase" for positive changes and "decrease" for negative changes. */ directionality?: pulumi.Input<string>; /** * Skips persisting the metric (used to validate that inputs are correct) */ dryRun?: pulumi.Input<boolean>; /** * Specifies whether to count events or distinct users for the funnel metric. */ funnelCountDistinct?: pulumi.Input<string>; /** * List of events used to create funnel metrics. */ funnelEventLists?: pulumi.Input<pulumi.Input<inputs.MetricFunnelEventList>[]>; /** * Indicates whether the metric is permanent and should not be deleted. */ isPermanent?: pulumi.Input<boolean>; /** * Set to true to make the metric definition editable only from the Console API. */ isReadOnly?: pulumi.Input<boolean>; /** * Marks the metric as verified for internal trustworthiness. */ isVerified?: pulumi.Input<boolean>; /** * List of input metrics used to calculate the new metric for composite types. */ metricComponentMetrics?: pulumi.Input<pulumi.Input<inputs.MetricMetricComponentMetric>[]>; /** * An array of event definitions used to compute the metric. */ metricEvents?: pulumi.Input<pulumi.Input<inputs.MetricMetricEvent>[]>; /** * The name of the new metric, which identifies it within the system. */ name?: pulumi.Input<string>; /** * Time window for the metric rollup. Specify "custom" for a customized time window. */ rollupTimeWindow?: pulumi.Input<string>; /** * Tags associated with the metric for categorization and searchability. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The team associated with the metric, applicable for enterprise environments. */ team?: pulumi.Input<string>; /** * The team ID associated with the metric, applicable for enterprise environments. */ teamId?: pulumi.Input<string>; /** * The type of the metric. Allowed values include sum, ratio, mean, event*count*sum, composite, composite*sum, undefined, funnel, user*warehouse. */ type: pulumi.Input<string>; /** * Array of unit types associated with the metric, such as stableID or userID. */ unitTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Defines warehouse native metrics for advanced configurations. */ warehouseNative?: pulumi.Input<inputs.MetricWarehouseNative>; }