Managing Resources

Resources are all managed within Snowflake via stored procedures within the Winning Variant Application.

Read more here

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:

schemaVersion: 1
kind: lab | subjecttype | experiment
metadata:
  <Metadata>
spec:
  <Spec>

Metadata

When defining a resource in YAML, each must have a metadata section. The following properties within metadata are shared across all resource types:

KeyData TypeDescription
idstringUnique identifier. Must be lowercase and consist of alphanumeric characters, ’-’, ’_’ or ’.’ For example: home-page-test
namestringName of the resource.
descriptionstringDescription of the resource.
resourceVersionintModification 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.
statusResourceStatusThe status of the resource.
parentKindlabThe kind of resouce this one belongs to. Only applies to experiments, in which case the value is lab. Exclude for non experiments.
parentIdstringThe ID of the resources parent. Only applies to experiments and the ID of its parent lab. Exclude for non experiments.

ResourceStatus

Possible statuses include:

StatusDescriptionResources
draftThe experiment exists, but is not ready to go live.Experiment
activeThe experiment is live and making/tracking/returned assignments.All
winner_declaredA winner has been declared.Experiment
endedThe experiment has ended. No assignments are made/returned.Experiment
archivedThe 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.

Examples

schemaVersion: 1
kind: lab
metadata:
  id: marketing
  resourceVersion: 1
  status: active
  name: Marketing
  description: All initiatives for the marketing org.