/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the evidently-2021-02-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudWatchEvidently.Model
{
///
/// Container for the parameters to the GetExperimentResults operation.
/// Retrieves the results of a running or completed experiment. No results are available
/// until there have been 100 events for each variation and at least 10 minutes have passed
/// since the start of the experiment. To increase the statistical power, Evidently performs
/// an additional offline p-value analysis at the end of the experiment. Offline p-value
/// analysis can detect statistical significance in some cases where the anytime p-values
/// used during the experiment do not find statistical significance.
///
///
///
/// Experiment results are available up to 63 days after the start of the experiment.
/// They are not available after that because of CloudWatch data retention policies.
///
///
public partial class GetExperimentResultsRequest : AmazonCloudWatchEvidentlyRequest
{
private ExperimentBaseStat _baseStat;
private DateTime? _endTime;
private string _experiment;
private List _metricNames = new List();
private long? _period;
private string _project;
private List _reportNames = new List();
private List _resultStats = new List();
private DateTime? _startTime;
private List _treatmentNames = new List();
///
/// Gets and sets the property BaseStat.
///
/// The statistic used to calculate experiment results. Currently the only valid value
/// is mean
, which uses the mean of the collected values as the statistic.
///
///
public ExperimentBaseStat BaseStat
{
get { return this._baseStat; }
set { this._baseStat = value; }
}
// Check to see if BaseStat property is set
internal bool IsSetBaseStat()
{
return this._baseStat != null;
}
///
/// Gets and sets the property EndTime.
///
/// The date and time that the experiment ended, if it is completed. This must be no longer
/// than 30 days after the experiment start time.
///
///
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set { this._endTime = value; }
}
// Check to see if EndTime property is set
internal bool IsSetEndTime()
{
return this._endTime.HasValue;
}
///
/// Gets and sets the property Experiment.
///
/// The name of the experiment to retrieve the results of.
///
///
[AWSProperty(Required=true, Min=1, Max=127)]
public string Experiment
{
get { return this._experiment; }
set { this._experiment = value; }
}
// Check to see if Experiment property is set
internal bool IsSetExperiment()
{
return this._experiment != null;
}
///
/// Gets and sets the property MetricNames.
///
/// The names of the experiment metrics that you want to see the results of.
///
///
[AWSProperty(Required=true, Min=1, Max=1)]
public List MetricNames
{
get { return this._metricNames; }
set { this._metricNames = value; }
}
// Check to see if MetricNames property is set
internal bool IsSetMetricNames()
{
return this._metricNames != null && this._metricNames.Count > 0;
}
///
/// Gets and sets the property Period.
///
/// In seconds, the amount of time to aggregate results together.
///
///
[AWSProperty(Min=300, Max=90000)]
public long Period
{
get { return this._period.GetValueOrDefault(); }
set { this._period = value; }
}
// Check to see if Period property is set
internal bool IsSetPeriod()
{
return this._period.HasValue;
}
///
/// Gets and sets the property Project.
///
/// The name or ARN of the project that contains the experiment that you want to see the
/// results of.
///
///
[AWSProperty(Required=true, Min=0, Max=2048)]
public string Project
{
get { return this._project; }
set { this._project = value; }
}
// Check to see if Project property is set
internal bool IsSetProject()
{
return this._project != null;
}
///
/// Gets and sets the property ReportNames.
///
/// The names of the report types that you want to see. Currently, BayesianInference
/// is the only valid value.
///
///
[AWSProperty(Min=0, Max=5)]
public List ReportNames
{
get { return this._reportNames; }
set { this._reportNames = value; }
}
// Check to see if ReportNames property is set
internal bool IsSetReportNames()
{
return this._reportNames != null && this._reportNames.Count > 0;
}
///
/// Gets and sets the property ResultStats.
///
/// The statistics that you want to see in the returned results.
///
/// -
///
///
PValue
specifies to use p-values for the results. A p-value is used
/// in hypothesis testing to measure how often you are willing to make a mistake in rejecting
/// the null hypothesis. A general practice is to reject the null hypothesis and declare
/// that the results are statistically significant when the p-value is less than 0.05.
///
/// -
///
///
ConfidenceInterval
specifies a confidence interval for the results.
/// The confidence interval represents the range of values for the chosen metric that
/// is likely to contain the true difference between the baseStat
of a variation
/// and the baseline. Evidently returns the 95% confidence interval.
///
/// -
///
///
TreatmentEffect
is the difference in the statistic specified by the
/// baseStat
parameter between each variation and the default variation.
///
///
/// -
///
///
BaseStat
returns the statistical values collected for the metric for
/// each variation. The statistic uses the same statistic specified in the baseStat
/// parameter. Therefore, if baseStat
is mean
, this returns
/// the mean of the values collected for each variation.
///
///
///
[AWSProperty(Min=0, Max=5)]
public List ResultStats
{
get { return this._resultStats; }
set { this._resultStats = value; }
}
// Check to see if ResultStats property is set
internal bool IsSetResultStats()
{
return this._resultStats != null && this._resultStats.Count > 0;
}
///
/// Gets and sets the property StartTime.
///
/// The date and time that the experiment started.
///
///
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
///
/// Gets and sets the property TreatmentNames.
///
/// The names of the experiment treatments that you want to see the results for.
///
///
[AWSProperty(Required=true, Min=1, Max=5)]
public List TreatmentNames
{
get { return this._treatmentNames; }
set { this._treatmentNames = value; }
}
// Check to see if TreatmentNames property is set
internal bool IsSetTreatmentNames()
{
return this._treatmentNames != null && this._treatmentNames.Count > 0;
}
}
}