Overview
Winning Variant implements a small set of first order resources that can be managed via the Configuration API.
Managing Resources
Resources are all managed within Snowflake via stored procedures within the Winning Variant Application.
Resource Kinds
-
Labs (Key:
lab
): Logical grouping of experiments. You can think of this as a workspace or even just as a folder containing experiments. Each experiment belongs to a lab. -
Subject Types (Key:
subjecttype
): Used by experiments, these are types of identifiers that are assigned variants within an experiment. Subject types exist at the account level and can be used across all experiments within all labs. Each experiment must specify the subject type to use for assignments. -
Experiments (Key:
experiment
): Any type of experiment you wish to run.
YAML
Schema
Each resource requires a top-level schemaVersion
, a resource kind
, and a metadata
object. Subject types and experiments also require a spec
section with details on the resource. For example:
Metadata
When defining a resource in YAML, each must have a metadata
section. The following properties within metadata
are shared across all resource types:
Key | Data Type | Description |
---|---|---|
id | string | Unique identifier. Must be lowercase and consist of alphanumeric characters, ’-’, ’_’ or ’.’ For example: home-page-test |
name | string | Name of the resource. |
description | string | Description of the resource. |
resourceVersion | int | Modification version for a given resource. Incremented each time the resource is updated. This will be shown when retreiving a resource, but is ignored if provided as part of a resource update. |
status | ResourceStatus | The status of the resource. |
parentKind | lab | The kind of resouce this one belongs to. Only applies to experiments, in which case the value is lab . Exclude for non experiments. |
parentId | string | The ID of the resources parent. Only applies to experiments and the ID of its parent lab. Exclude for non experiments. |
ResourceStatus
Possible statuses include:
Status | Description | Resources |
---|---|---|
draft | The experiment exists, but is not ready to go live. | Experiment |
active | The experiment is live and making/tracking/returned assignments. | All |
winner_declared | A winner has been declared. | Experiment |
ended | The experiment has ended. No assignments are made/returned. | Experiment |
archived | The experiment has ended and is archived from view. | All |
Spec
This is specific to the resource kind. View the pages for Labs, Subjects, or Experiments for more info.