import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EvidentlyClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EvidentlyClient"; import type { CreateExperimentRequest, CreateExperimentResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateExperimentCommand}. */ export interface CreateExperimentCommandInput extends CreateExperimentRequest { } /** * @public * * The output of {@link CreateExperimentCommand}. */ export interface CreateExperimentCommandOutput extends CreateExperimentResponse, __MetadataBearer { } declare const CreateExperimentCommand_base: { new (input: CreateExperimentCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateExperimentCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Creates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment.

An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better.

You can optionally specify a segment to have the experiment consider only certain audience types in the experiment, such as using only user sessions from a certain location or who use a certain internet browser.

Don't use this operation to update an existing experiment. Instead, use UpdateExperiment.

* * @deprecated AWS CloudWatch Evidently has been deprecated since 11/17/2025. * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EvidentlyClient, CreateExperimentCommand } from "@aws-sdk/client-evidently"; // ES Modules import * // const { EvidentlyClient, CreateExperimentCommand } = require("@aws-sdk/client-evidently"); // CommonJS import * // import type { EvidentlyClientConfig } from "@aws-sdk/client-evidently"; * const config = {}; // type is EvidentlyClientConfig * const client = new EvidentlyClient(config); * const input = { // CreateExperimentRequest * project: "STRING_VALUE", // required * name: "STRING_VALUE", // required * description: "STRING_VALUE", * treatments: [ // TreatmentConfigList // required * { // TreatmentConfig * name: "STRING_VALUE", // required * description: "STRING_VALUE", * feature: "STRING_VALUE", // required * variation: "STRING_VALUE", // required * }, * ], * metricGoals: [ // MetricGoalConfigList // required * { // MetricGoalConfig * metricDefinition: { // MetricDefinitionConfig * name: "STRING_VALUE", // required * entityIdKey: "STRING_VALUE", // required * valueKey: "STRING_VALUE", // required * eventPattern: "STRING_VALUE", * unitLabel: "STRING_VALUE", * }, * desiredChange: "STRING_VALUE", * }, * ], * randomizationSalt: "STRING_VALUE", * samplingRate: Number("long"), * onlineAbConfig: { // OnlineAbConfig * controlTreatmentName: "STRING_VALUE", * treatmentWeights: { // TreatmentToWeightMap * "": Number("long"), * }, * }, * segment: "STRING_VALUE", * tags: { // TagMap * "": "STRING_VALUE", * }, * }; * const command = new CreateExperimentCommand(input); * const response = await client.send(command); * // { // CreateExperimentResponse * // experiment: { // Experiment * // arn: "STRING_VALUE", // required * // name: "STRING_VALUE", // required * // project: "STRING_VALUE", * // status: "STRING_VALUE", // required * // statusReason: "STRING_VALUE", * // description: "STRING_VALUE", * // createdTime: new Date("TIMESTAMP"), // required * // lastUpdatedTime: new Date("TIMESTAMP"), // required * // schedule: { // ExperimentSchedule * // analysisCompleteTime: new Date("TIMESTAMP"), * // }, * // execution: { // ExperimentExecution * // startedTime: new Date("TIMESTAMP"), * // endedTime: new Date("TIMESTAMP"), * // }, * // treatments: [ // TreatmentList * // { // Treatment * // name: "STRING_VALUE", // required * // description: "STRING_VALUE", * // featureVariations: { // FeatureToVariationMap * // "": "STRING_VALUE", * // }, * // }, * // ], * // metricGoals: [ // MetricGoalsList * // { // MetricGoal * // metricDefinition: { // MetricDefinition * // name: "STRING_VALUE", * // entityIdKey: "STRING_VALUE", * // valueKey: "STRING_VALUE", * // eventPattern: "STRING_VALUE", * // unitLabel: "STRING_VALUE", * // }, * // desiredChange: "STRING_VALUE", * // }, * // ], * // randomizationSalt: "STRING_VALUE", * // samplingRate: Number("long"), * // segment: "STRING_VALUE", * // type: "STRING_VALUE", // required * // onlineAbDefinition: { // OnlineAbDefinition * // controlTreatmentName: "STRING_VALUE", * // treatmentWeights: { // TreatmentToWeightMap * // "": Number("long"), * // }, * // }, * // tags: { // TagMap * // "": "STRING_VALUE", * // }, * // }, * // }; * * ``` * * @param CreateExperimentCommandInput - {@link CreateExperimentCommandInput} * @returns {@link CreateExperimentCommandOutput} * @see {@link CreateExperimentCommandInput} for command's `input` shape. * @see {@link CreateExperimentCommandOutput} for command's `response` shape. * @see {@link EvidentlyClientResolvedConfig | config} for EvidentlyClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient permissions to perform this action.

* * @throws {@link ConflictException} (client fault) *

A resource was in an inconsistent state during an update or a deletion.

* * @throws {@link ResourceNotFoundException} (client fault) *

The request references a resource that does not exist.

* * @throws {@link ServiceQuotaExceededException} (client fault) *

The request would cause a service quota to be exceeded.

* * @throws {@link ValidationException} (client fault) *

The value of a parameter in the request caused an error.

* * @throws {@link EvidentlyServiceException} *

Base exception class for all service exceptions from Evidently service.

* * * @public */ export declare class CreateExperimentCommand extends CreateExperimentCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateExperimentRequest; output: CreateExperimentResponse; }; sdk: { input: CreateExperimentCommandInput; output: CreateExperimentCommandOutput; }; }; }