Struct aws_sdk_evidently::client::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for Amazon CloudWatch Evidently
Client for invoking operations on Amazon CloudWatch Evidently. Each operation on Amazon CloudWatch Evidently is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_evidently::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_evidently::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
§Using the Client
A client has a function for every operation that can be performed by the service.
For example, the ListTagsForResource
operation has
a Client::list_tags_for_resource
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.list_tags_for_resource()
.resource_arn("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
source§impl Client
impl Client
sourcepub fn batch_evaluate_feature(&self) -> BatchEvaluateFeatureFluentBuilder
pub fn batch_evaluate_feature(&self) -> BatchEvaluateFeatureFluentBuilder
Constructs a fluent builder for the BatchEvaluateFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the feature being evaluated.
requests(EvaluationRequest)
/set_requests(Option<Vec::<EvaluationRequest>>)
:
required: trueAn array of structures, where each structure assigns a feature variation to one user session.
- On success, responds with
BatchEvaluateFeatureOutput
with field(s):results(Option<Vec::<EvaluationResult>>)
:An array of structures, where each structure displays the results of one feature evaluation assignment to one user session.
- On failure, responds with
SdkError<BatchEvaluateFeatureError>
source§impl Client
impl Client
sourcepub fn create_experiment(&self) -> CreateExperimentFluentBuilder
pub fn create_experiment(&self) -> CreateExperimentFluentBuilder
Constructs a fluent builder for the CreateExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that you want to create the new experiment in.
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueA name for the new experiment.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the experiment.
treatments(TreatmentConfig)
/set_treatments(Option<Vec::<TreatmentConfig>>)
:
required: trueAn array of structures that describe the configuration of each feature variation used in the experiment.
metric_goals(MetricGoalConfig)
/set_metric_goals(Option<Vec::<MetricGoalConfig>>)
:
required: trueAn array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.
randomization_salt(impl Into<String>)
/set_randomization_salt(Option<String>)
:
required: falseWhen Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
. If you omitrandomizationSalt
, Evidently uses the experiment name as therandomizationSalt
.sampling_rate(i64)
/set_sampling_rate(Option<i64>)
:
required: falseThe portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.
This is represented in thousandths of a percent. For example, specify 10,000 to allocate 10% of the available audience.
online_ab_config(OnlineAbConfig)
/set_online_ab_config(Option<OnlineAbConfig>)
:
required: falseA structure that contains the configuration of which variation to use as the “control” version. tThe “control” version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.
segment(impl Into<String>)
/set_segment(Option<String>)
:
required: falseSpecifies an audience segment to use in the experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseAssigns one or more tags (key-value pairs) to the experiment.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can associate as many as 50 tags with an experiment.
For more information, see Tagging Amazon Web Services resources.
- On success, responds with
CreateExperimentOutput
with field(s):experiment(Option<Experiment>)
:A structure containing the configuration details of the experiment that you created.
- On failure, responds with
SdkError<CreateExperimentError>
source§impl Client
impl Client
sourcepub fn create_feature(&self) -> CreateFeatureFluentBuilder
pub fn create_feature(&self) -> CreateFeatureFluentBuilder
Constructs a fluent builder for the CreateFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that is to contain the new feature.
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name for the new feature.
evaluation_strategy(FeatureEvaluationStrategy)
/set_evaluation_strategy(Option<FeatureEvaluationStrategy>)
:
required: falseSpecify
ALL_RULES
to activate the traffic allocation specified by any ongoing launches or experiments. SpecifyDEFAULT_VARIATION
to serve the default variation to all users instead.description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the feature.
variations(VariationConfig)
/set_variations(Option<Vec::<VariationConfig>>)
:
required: trueAn array of structures that contain the configuration of the feature’s different variations.
default_variation(impl Into<String>)
/set_default_variation(Option<String>)
:
required: falseThe name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature.
This variation must also be listed in the
variations
structure.If you omit
defaultVariation
, the first variation listed in thevariations
structure is used as the default variation.tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseAssigns one or more tags (key-value pairs) to the feature.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can associate as many as 50 tags with a feature.
For more information, see Tagging Amazon Web Services resources.
entity_overrides(impl Into<String>, impl Into<String>)
/set_entity_overrides(Option<HashMap::<String, String>>)
:
required: falseSpecify users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served.
This parameter is limited to 2500 overrides or a total of 40KB. The 40KB limit includes an overhead of 6 bytes per override.
- On success, responds with
CreateFeatureOutput
with field(s):feature(Option<Feature>)
:A structure that contains information about the new feature.
- On failure, responds with
SdkError<CreateFeatureError>
source§impl Client
impl Client
sourcepub fn create_launch(&self) -> CreateLaunchFluentBuilder
pub fn create_launch(&self) -> CreateLaunchFluentBuilder
Constructs a fluent builder for the CreateLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that you want to create the launch in.
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name for the new launch.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description for the launch.
scheduled_splits_config(ScheduledSplitsLaunchConfig)
/set_scheduled_splits_config(Option<ScheduledSplitsLaunchConfig>)
:
required: falseAn array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
metric_monitors(MetricMonitorConfig)
/set_metric_monitors(Option<Vec::<MetricMonitorConfig>>)
:
required: falseAn array of structures that define the metrics that will be used to monitor the launch performance.
groups(LaunchGroupConfig)
/set_groups(Option<Vec::<LaunchGroupConfig>>)
:
required: trueAn array of structures that contains the feature and variations that are to be used for the launch.
randomization_salt(impl Into<String>)
/set_randomization_salt(Option<String>)
:
required: falseWhen Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
. If you omitrandomizationSalt
, Evidently uses the launch name as therandomizationSalt
.tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseAssigns one or more tags (key-value pairs) to the launch.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can associate as many as 50 tags with a launch.
For more information, see Tagging Amazon Web Services resources.
- On success, responds with
CreateLaunchOutput
with field(s):launch(Option<Launch>)
:A structure that contains the configuration of the launch that was created.
- On failure, responds with
SdkError<CreateLaunchError>
source§impl Client
impl Client
sourcepub fn create_project(&self) -> CreateProjectFluentBuilder
pub fn create_project(&self) -> CreateProjectFluentBuilder
Constructs a fluent builder for the CreateProject
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueThe name for the project.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the project.
data_delivery(ProjectDataDeliveryConfig)
/set_data_delivery(Option<ProjectDataDeliveryConfig>)
:
required: falseA structure that contains information about where Evidently is to store evaluation events for longer term storage, if you choose to do so. If you choose not to store these events, Evidently deletes them after using them to produce metrics and other experiment results that you can view.
app_config_resource(ProjectAppConfigResourceConfig)
/set_app_config_resource(Option<ProjectAppConfigResourceConfig>)
:
required: falseUse this parameter if the project will use client-side evaluation powered by AppConfig. Client-side evaluation allows your application to assign variations to user sessions locally instead of by calling the EvaluateFeature operation. This mitigates the latency and availability risks that come with an API call. For more information, see Client-side evaluation - powered by AppConfig.
This parameter is a structure that contains information about the AppConfig application and environment that will be used as for client-side evaluation.
To create a project that uses client-side evaluation, you must have the
evidently:ExportProjectAsConfiguration
permission.tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseAssigns one or more tags (key-value pairs) to the project.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can associate as many as 50 tags with a project.
For more information, see Tagging Amazon Web Services resources.
- On success, responds with
CreateProjectOutput
with field(s):project(Option<Project>)
:A structure that contains information about the created project.
- On failure, responds with
SdkError<CreateProjectError>
source§impl Client
impl Client
sourcepub fn create_segment(&self) -> CreateSegmentFluentBuilder
pub fn create_segment(&self) -> CreateSegmentFluentBuilder
Constructs a fluent builder for the CreateSegment
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueA name for the segment.
pattern(impl Into<String>)
/set_pattern(Option<String>)
:
required: trueThe pattern to use for the segment. For more information about pattern syntax, see Segment rule pattern syntax.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description for this segment.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseAssigns one or more tags (key-value pairs) to the segment.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can associate as many as 50 tags with a segment.
For more information, see Tagging Amazon Web Services resources.
- On success, responds with
CreateSegmentOutput
with field(s):segment(Option<Segment>)
:A structure that contains the complete information about the segment that was just created.
- On failure, responds with
SdkError<CreateSegmentError>
source§impl Client
impl Client
sourcepub fn delete_experiment(&self) -> DeleteExperimentFluentBuilder
pub fn delete_experiment(&self) -> DeleteExperimentFluentBuilder
Constructs a fluent builder for the DeleteExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment to delete.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment to delete.
- On success, responds with
DeleteExperimentOutput
- On failure, responds with
SdkError<DeleteExperimentError>
source§impl Client
impl Client
sourcepub fn delete_feature(&self) -> DeleteFeatureFluentBuilder
pub fn delete_feature(&self) -> DeleteFeatureFluentBuilder
Constructs a fluent builder for the DeleteFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the feature to delete.
feature(impl Into<String>)
/set_feature(Option<String>)
:
required: trueThe name of the feature to delete.
- On success, responds with
DeleteFeatureOutput
- On failure, responds with
SdkError<DeleteFeatureError>
source§impl Client
impl Client
sourcepub fn delete_launch(&self) -> DeleteLaunchFluentBuilder
pub fn delete_launch(&self) -> DeleteLaunchFluentBuilder
Constructs a fluent builder for the DeleteLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the launch to delete.
launch(impl Into<String>)
/set_launch(Option<String>)
:
required: trueThe name of the launch to delete.
- On success, responds with
DeleteLaunchOutput
- On failure, responds with
SdkError<DeleteLaunchError>
source§impl Client
impl Client
sourcepub fn delete_project(&self) -> DeleteProjectFluentBuilder
pub fn delete_project(&self) -> DeleteProjectFluentBuilder
Constructs a fluent builder for the DeleteProject
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to delete.
- On success, responds with
DeleteProjectOutput
- On failure, responds with
SdkError<DeleteProjectError>
source§impl Client
impl Client
sourcepub fn delete_segment(&self) -> DeleteSegmentFluentBuilder
pub fn delete_segment(&self) -> DeleteSegmentFluentBuilder
Constructs a fluent builder for the DeleteSegment
operation.
- The fluent builder is configurable:
segment(impl Into<String>)
/set_segment(Option<String>)
:
required: trueSpecifies the segment to delete.
- On success, responds with
DeleteSegmentOutput
- On failure, responds with
SdkError<DeleteSegmentError>
source§impl Client
impl Client
sourcepub fn evaluate_feature(&self) -> EvaluateFeatureFluentBuilder
pub fn evaluate_feature(&self) -> EvaluateFeatureFluentBuilder
Constructs a fluent builder for the EvaluateFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains this feature.
feature(impl Into<String>)
/set_feature(Option<String>)
:
required: trueThe name of the feature being evaluated.
entity_id(impl Into<String>)
/set_entity_id(Option<String>)
:
required: trueAn internal ID that represents a unique user of the application. This
entityID
is checked against any override rules assigned for this feature.evaluation_context(impl Into<String>)
/set_evaluation_context(Option<String>)
:
required: falseA JSON object of attributes that you can optionally pass in as part of the evaluation event sent to Evidently from the user session. Evidently can use this value to match user sessions with defined audience segments. For more information, see Use segments to focus your audience.
If you include this parameter, the value must be a JSON object. A JSON array is not supported.
- On success, responds with
EvaluateFeatureOutput
with field(s):variation(Option<String>)
:The name of the variation that was served to the user session.
value(Option<VariableValue>)
:The value assigned to this variation to differentiate it from the other variations of this feature.
reason(Option<String>)
:Specifies the reason that the user session was assigned this variation. Possible values include
DEFAULT
, meaning the user was served the default variation;LAUNCH_RULE_MATCH
, if the user session was enrolled in a launch;EXPERIMENT_RULE_MATCH
, if the user session was enrolled in an experiment; orENTITY_OVERRIDES_MATCH
, if the user’sentityId
matches an override rule.details(Option<String>)
:If this user was assigned to a launch or experiment, this field lists the launch or experiment name.
- On failure, responds with
SdkError<EvaluateFeatureError>
source§impl Client
impl Client
sourcepub fn get_experiment(&self) -> GetExperimentFluentBuilder
pub fn get_experiment(&self) -> GetExperimentFluentBuilder
Constructs a fluent builder for the GetExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment that you want to see the details of.
- On success, responds with
GetExperimentOutput
with field(s):experiment(Option<Experiment>)
:A structure containing the configuration details of the experiment.
- On failure, responds with
SdkError<GetExperimentError>
source§impl Client
impl Client
sourcepub fn get_experiment_results(&self) -> GetExperimentResultsFluentBuilder
pub fn get_experiment_results(&self) -> GetExperimentResultsFluentBuilder
Constructs a fluent builder for the GetExperimentResults
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment that you want to see the results of.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment to retrieve the results of.
start_time(DateTime)
/set_start_time(Option<DateTime>)
:
required: falseThe date and time that the experiment started.
end_time(DateTime)
/set_end_time(Option<DateTime>)
:
required: falseThe date and time that the experiment ended, if it is completed. This must be no longer than 30 days after the experiment start time.
metric_names(impl Into<String>)
/set_metric_names(Option<Vec::<String>>)
:
required: trueThe names of the experiment metrics that you want to see the results of.
treatment_names(impl Into<String>)
/set_treatment_names(Option<Vec::<String>>)
:
required: trueThe names of the experiment treatments that you want to see the results for.
base_stat(ExperimentBaseStat)
/set_base_stat(Option<ExperimentBaseStat>)
:
required: falseThe statistic used to calculate experiment results. Currently the only valid value is
mean
, which uses the mean of the collected values as the statistic.result_stats(ExperimentResultRequestType)
/set_result_stats(Option<Vec::<ExperimentResultRequestType>>)
:
required: falseThe 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 thebaseStat
of a variation and the baseline. Evidently returns the 95% confidence interval. -
TreatmentEffect
is the difference in the statistic specified by thebaseStat
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 thebaseStat
parameter. Therefore, ifbaseStat
ismean
, this returns the mean of the values collected for each variation.
-
report_names(ExperimentReportName)
/set_report_names(Option<Vec::<ExperimentReportName>>)
:
required: falseThe names of the report types that you want to see. Currently,
BayesianInference
is the only valid value.period(i64)
/set_period(Option<i64>)
:
required: falseIn seconds, the amount of time to aggregate results together.
- On success, responds with
GetExperimentResultsOutput
with field(s):results_data(Option<Vec::<ExperimentResultsData>>)
:An array of structures that include experiment results including metric names and values.
reports(Option<Vec::<ExperimentReport>>)
:An array of structures that include the reports that you requested.
timestamps(Option<Vec::<DateTime>>)
:The timestamps of each result returned.
details(Option<String>)
:If the experiment doesn’t yet have enough events to provide valid results, this field is returned with the message
Not enough events to generate results
. If there are enough events to provide valid results, this field is not returned.
- On failure, responds with
SdkError<GetExperimentResultsError>
source§impl Client
impl Client
sourcepub fn get_feature(&self) -> GetFeatureFluentBuilder
pub fn get_feature(&self) -> GetFeatureFluentBuilder
Constructs a fluent builder for the GetFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the feature.
feature(impl Into<String>)
/set_feature(Option<String>)
:
required: trueThe name of the feature that you want to retrieve information for.
- On success, responds with
GetFeatureOutput
with field(s):feature(Option<Feature>)
:A structure containing the configuration details of the feature.
- On failure, responds with
SdkError<GetFeatureError>
source§impl Client
impl Client
sourcepub fn get_launch(&self) -> GetLaunchFluentBuilder
pub fn get_launch(&self) -> GetLaunchFluentBuilder
Constructs a fluent builder for the GetLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the launch.
launch(impl Into<String>)
/set_launch(Option<String>)
:
required: trueThe name of the launch that you want to see the details of.
- On success, responds with
GetLaunchOutput
with field(s):launch(Option<Launch>)
:A structure containing the configuration details of the launch.
- On failure, responds with
SdkError<GetLaunchError>
source§impl Client
impl Client
sourcepub fn get_project(&self) -> GetProjectFluentBuilder
pub fn get_project(&self) -> GetProjectFluentBuilder
Constructs a fluent builder for the GetProject
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that you want to see the details of.
- On success, responds with
GetProjectOutput
with field(s):project(Option<Project>)
:A structure containing the configuration details of the project.
- On failure, responds with
SdkError<GetProjectError>
source§impl Client
impl Client
sourcepub fn get_segment(&self) -> GetSegmentFluentBuilder
pub fn get_segment(&self) -> GetSegmentFluentBuilder
Constructs a fluent builder for the GetSegment
operation.
- The fluent builder is configurable:
segment(impl Into<String>)
/set_segment(Option<String>)
:
required: trueThe ARN of the segment to return information for.
- On success, responds with
GetSegmentOutput
with field(s):segment(Option<Segment>)
:A structure that contains the complete information about the segment.
- On failure, responds with
SdkError<GetSegmentError>
source§impl Client
impl Client
sourcepub fn list_experiments(&self) -> ListExperimentsFluentBuilder
pub fn list_experiments(&self) -> ListExperimentsFluentBuilder
Constructs a fluent builder for the ListExperiments
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to return the experiment list from.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListExperiments
operation.status(ExperimentStatus)
/set_status(Option<ExperimentStatus>)
:
required: falseUse this optional parameter to limit the returned results to only the experiments with the status that you specify here.
- On success, responds with
ListExperimentsOutput
with field(s):experiments(Option<Vec::<Experiment>>)
:An array of structures that contain the configuration details of the experiments in the specified project.
next_token(Option<String>)
:The token to use in a subsequent
ListExperiments
operation to return the next set of results.
- On failure, responds with
SdkError<ListExperimentsError>
source§impl Client
impl Client
sourcepub fn list_features(&self) -> ListFeaturesFluentBuilder
pub fn list_features(&self) -> ListFeaturesFluentBuilder
Constructs a fluent builder for the ListFeatures
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to return the feature list from.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListFeatures
operation.
- On success, responds with
ListFeaturesOutput
with field(s):features(Option<Vec::<FeatureSummary>>)
:An array of structures that contain the configuration details of the features in the specified project.
next_token(Option<String>)
:The token to use in a subsequent
ListFeatures
operation to return the next set of results.
- On failure, responds with
SdkError<ListFeaturesError>
source§impl Client
impl Client
sourcepub fn list_launches(&self) -> ListLaunchesFluentBuilder
pub fn list_launches(&self) -> ListLaunchesFluentBuilder
Constructs a fluent builder for the ListLaunches
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to return the launch list from.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListLaunches
operation.status(LaunchStatus)
/set_status(Option<LaunchStatus>)
:
required: falseUse this optional parameter to limit the returned results to only the launches with the status that you specify here.
- On success, responds with
ListLaunchesOutput
with field(s):launches(Option<Vec::<Launch>>)
:An array of structures that contain the configuration details of the launches in the specified project.
next_token(Option<String>)
:The token to use in a subsequent
ListLaunches
operation to return the next set of results.
- On failure, responds with
SdkError<ListLaunchesError>
source§impl Client
impl Client
sourcepub fn list_projects(&self) -> ListProjectsFluentBuilder
pub fn list_projects(&self) -> ListProjectsFluentBuilder
Constructs a fluent builder for the ListProjects
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListProjects
operation.
- On success, responds with
ListProjectsOutput
with field(s):projects(Option<Vec::<ProjectSummary>>)
:An array of structures that contain the configuration details of the projects in the Region.
next_token(Option<String>)
:The token to use in a subsequent
ListProjects
operation to return the next set of results.
- On failure, responds with
SdkError<ListProjectsError>
source§impl Client
impl Client
sourcepub fn list_segment_references(&self) -> ListSegmentReferencesFluentBuilder
pub fn list_segment_references(&self) -> ListSegmentReferencesFluentBuilder
Constructs a fluent builder for the ListSegmentReferences
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
segment(impl Into<String>)
/set_segment(Option<String>)
:
required: trueThe ARN of the segment that you want to view information for.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response. If you omit this, the default of 50 is used.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListSegmentReferences
operation.r#type(SegmentReferenceResourceType)
/set_type(Option<SegmentReferenceResourceType>)
:
required: trueSpecifies whether to return information about launches or experiments that use this segment.
- On success, responds with
ListSegmentReferencesOutput
with field(s):referenced_by(Option<Vec::<RefResource>>)
:An array of structures, where each structure contains information about one experiment or launch that uses this segment.
next_token(Option<String>)
:The token to use in a subsequent
ListSegmentReferences
operation to return the next set of results.
- On failure, responds with
SdkError<ListSegmentReferencesError>
source§impl Client
impl Client
sourcepub fn list_segments(&self) -> ListSegmentsFluentBuilder
pub fn list_segments(&self) -> ListSegmentsFluentBuilder
Constructs a fluent builder for the ListSegments
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to include in the response. If you omit this, the default of 50 is used.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token to use when requesting the next set of results. You received this token from a previous
ListSegments
operation.
- On success, responds with
ListSegmentsOutput
with field(s):segments(Option<Vec::<Segment>>)
:An array of structures that contain information about the segments in this Region.
next_token(Option<String>)
:The token to use in a subsequent
ListSegments
operation to return the next set of results.
- On failure, responds with
SdkError<ListSegmentsError>
source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the resource that you want to see the tags of.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<HashMap::<String, String>>)
:The list of tag keys and values associated with the resource you specified.
- On failure, responds with
SdkError<ListTagsForResourceError>
source§impl Client
impl Client
sourcepub fn put_project_events(&self) -> PutProjectEventsFluentBuilder
pub fn put_project_events(&self) -> PutProjectEventsFluentBuilder
Constructs a fluent builder for the PutProjectEvents
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to write the events to.
events(Event)
/set_events(Option<Vec::<Event>>)
:
required: trueAn array of event structures that contain the performance data that is being sent to Evidently.
- On success, responds with
PutProjectEventsOutput
with field(s):failed_event_count(Option<i32>)
:The number of events in the operation that could not be used by Evidently.
event_results(Option<Vec::<PutProjectEventsResultEntry>>)
:A structure that contains Evidently’s response to the sent events, including an event ID and error codes, if any.
- On failure, responds with
SdkError<PutProjectEventsError>
source§impl Client
impl Client
sourcepub fn start_experiment(&self) -> StartExperimentFluentBuilder
pub fn start_experiment(&self) -> StartExperimentFluentBuilder
Constructs a fluent builder for the StartExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment to start.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment to start.
analysis_complete_time(DateTime)
/set_analysis_complete_time(Option<DateTime>)
:
required: trueThe date and time to end the experiment. This must be no more than 30 days after the experiment starts.
- On success, responds with
StartExperimentOutput
with field(s):started_time(Option<DateTime>)
:A timestamp that indicates when the experiment started.
- On failure, responds with
SdkError<StartExperimentError>
source§impl Client
impl Client
sourcepub fn start_launch(&self) -> StartLaunchFluentBuilder
pub fn start_launch(&self) -> StartLaunchFluentBuilder
Constructs a fluent builder for the StartLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the launch to start.
launch(impl Into<String>)
/set_launch(Option<String>)
:
required: trueThe name of the launch to start.
- On success, responds with
StartLaunchOutput
with field(s):launch(Option<Launch>)
:A structure that contains information about the launch that was started.
- On failure, responds with
SdkError<StartLaunchError>
source§impl Client
impl Client
sourcepub fn stop_experiment(&self) -> StopExperimentFluentBuilder
pub fn stop_experiment(&self) -> StopExperimentFluentBuilder
Constructs a fluent builder for the StopExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment to stop.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment to stop.
desired_state(ExperimentStopDesiredState)
/set_desired_state(Option<ExperimentStopDesiredState>)
:
required: falseSpecify whether the experiment is to be considered
COMPLETED
orCANCELLED
after it stops.reason(impl Into<String>)
/set_reason(Option<String>)
:
required: falseA string that describes why you are stopping the experiment.
- On success, responds with
StopExperimentOutput
with field(s):ended_time(Option<DateTime>)
:The date and time that the experiment stopped.
- On failure, responds with
SdkError<StopExperimentError>
source§impl Client
impl Client
sourcepub fn stop_launch(&self) -> StopLaunchFluentBuilder
pub fn stop_launch(&self) -> StopLaunchFluentBuilder
Constructs a fluent builder for the StopLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the launch that you want to stop.
launch(impl Into<String>)
/set_launch(Option<String>)
:
required: trueThe name of the launch to stop.
desired_state(LaunchStopDesiredState)
/set_desired_state(Option<LaunchStopDesiredState>)
:
required: falseSpecify whether to consider the launch as
COMPLETED
orCANCELLED
after it stops.reason(impl Into<String>)
/set_reason(Option<String>)
:
required: falseA string that describes why you are stopping the launch.
- On success, responds with
StopLaunchOutput
with field(s):ended_time(Option<DateTime>)
:The date and time that the launch stopped.
- On failure, responds with
SdkError<StopLaunchError>
source§impl Client
impl Client
sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the CloudWatch Evidently resource that you’re adding tags to.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: trueThe list of key-value pairs to associate with the resource.
- On success, responds with
TagResourceOutput
- On failure, responds with
SdkError<TagResourceError>
source§impl Client
impl Client
sourcepub fn test_segment_pattern(&self) -> TestSegmentPatternFluentBuilder
pub fn test_segment_pattern(&self) -> TestSegmentPatternFluentBuilder
Constructs a fluent builder for the TestSegmentPattern
operation.
- The fluent builder is configurable:
pattern(impl Into<String>)
/set_pattern(Option<String>)
:
required: trueThe pattern to test.
payload(impl Into<String>)
/set_payload(Option<String>)
:
required: trueA sample
evaluationContext
JSON block to test against the specified pattern.
- On success, responds with
TestSegmentPatternOutput
with field(s):r#match(bool)
:Returns
true
if the pattern matches the payload.
- On failure, responds with
SdkError<TestSegmentPatternError>
source§impl Client
impl Client
sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the CloudWatch Evidently resource that you’re removing tags from.
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueThe list of tag keys to remove from the resource.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
source§impl Client
impl Client
sourcepub fn update_experiment(&self) -> UpdateExperimentFluentBuilder
pub fn update_experiment(&self) -> UpdateExperimentFluentBuilder
Constructs a fluent builder for the UpdateExperiment
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the experiment that you want to update.
experiment(impl Into<String>)
/set_experiment(Option<String>)
:
required: trueThe name of the experiment to update.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the experiment.
treatments(TreatmentConfig)
/set_treatments(Option<Vec::<TreatmentConfig>>)
:
required: falseAn array of structures that define the variations being tested in the experiment.
metric_goals(MetricGoalConfig)
/set_metric_goals(Option<Vec::<MetricGoalConfig>>)
:
required: falseAn array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal.
randomization_salt(impl Into<String>)
/set_randomization_salt(Option<String>)
:
required: falseWhen Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
. If you omitrandomizationSalt
, Evidently uses the experiment name as therandomizationSalt
.sampling_rate(i64)
/set_sampling_rate(Option<i64>)
:
required: falseThe portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.
This is represented in thousandths of a percent. For example, specify 20,000 to allocate 20% of the available audience.
segment(impl Into<String>)
/set_segment(Option<String>)
:
required: falseAdds an audience segment to an experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment. You can’t use this parameter if the experiment is currently running.
remove_segment(bool)
/set_remove_segment(Option<bool>)
:
required: falseRemoves a segment from being used in an experiment. You can’t use this parameter if the experiment is currently running.
online_ab_config(OnlineAbConfig)
/set_online_ab_config(Option<OnlineAbConfig>)
:
required: falseA structure that contains the configuration of which variation o use as the “control” version. The “control” version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.
- On success, responds with
UpdateExperimentOutput
with field(s):experiment(Option<Experiment>)
:A structure containing the configuration details of the experiment that was updated.
- On failure, responds with
SdkError<UpdateExperimentError>
source§impl Client
impl Client
sourcepub fn update_feature(&self) -> UpdateFeatureFluentBuilder
pub fn update_feature(&self) -> UpdateFeatureFluentBuilder
Constructs a fluent builder for the UpdateFeature
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the feature to be updated.
feature(impl Into<String>)
/set_feature(Option<String>)
:
required: trueThe name of the feature to be updated.
evaluation_strategy(FeatureEvaluationStrategy)
/set_evaluation_strategy(Option<FeatureEvaluationStrategy>)
:
required: falseSpecify
ALL_RULES
to activate the traffic allocation specified by any ongoing launches or experiments. SpecifyDEFAULT_VARIATION
to serve the default variation to all users instead.description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the feature.
add_or_update_variations(VariationConfig)
/set_add_or_update_variations(Option<Vec::<VariationConfig>>)
:
required: falseTo update variation configurations for this feature, or add new ones, specify this structure. In this array, include any variations that you want to add or update. If the array includes a variation name that already exists for this feature, it is updated. If it includes a new variation name, it is added as a new variation.
remove_variations(impl Into<String>)
/set_remove_variations(Option<Vec::<String>>)
:
required: falseRemoves a variation from the feature. If the variation you specify doesn’t exist, then this makes no change and does not report an error.
This operation fails if you try to remove a variation that is part of an ongoing launch or experiment.
default_variation(impl Into<String>)
/set_default_variation(Option<String>)
:
required: falseThe name of the variation to use as the default variation. The default variation is served to users who are not allocated to any ongoing launches or experiments of this feature.
entity_overrides(impl Into<String>, impl Into<String>)
/set_entity_overrides(Option<HashMap::<String, String>>)
:
required: falseSpecified users that should always be served a specific variation of a feature. Each user is specified by a key-value pair . For each key, specify a user by entering their user ID, account ID, or some other identifier. For the value, specify the name of the variation that they are to be served.
This parameter is limited to 2500 overrides or a total of 40KB. The 40KB limit includes an overhead of 6 bytes per override.
- On success, responds with
UpdateFeatureOutput
with field(s):feature(Option<Feature>)
:A structure that contains information about the updated feature.
- On failure, responds with
SdkError<UpdateFeatureError>
source§impl Client
impl Client
sourcepub fn update_launch(&self) -> UpdateLaunchFluentBuilder
pub fn update_launch(&self) -> UpdateLaunchFluentBuilder
Constructs a fluent builder for the UpdateLaunch
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that contains the launch that you want to update.
launch(impl Into<String>)
/set_launch(Option<String>)
:
required: trueThe name of the launch that is to be updated.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description for the launch.
groups(LaunchGroupConfig)
/set_groups(Option<Vec::<LaunchGroupConfig>>)
:
required: falseAn array of structures that contains the feature and variations that are to be used for the launch.
metric_monitors(MetricMonitorConfig)
/set_metric_monitors(Option<Vec::<MetricMonitorConfig>>)
:
required: falseAn array of structures that define the metrics that will be used to monitor the launch performance.
randomization_salt(impl Into<String>)
/set_randomization_salt(Option<String>)
:
required: falseWhen Evidently assigns a particular user session to a launch, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and
randomizationSalt
. If you omitrandomizationSalt
, Evidently uses the launch name as therandomizationSalt
.scheduled_splits_config(ScheduledSplitsLaunchConfig)
/set_scheduled_splits_config(Option<ScheduledSplitsLaunchConfig>)
:
required: falseAn array of structures that define the traffic allocation percentages among the feature variations during each step of the launch.
- On success, responds with
UpdateLaunchOutput
with field(s):launch(Option<Launch>)
:A structure that contains the new configuration of the launch that was updated.
- On failure, responds with
SdkError<UpdateLaunchError>
source§impl Client
impl Client
sourcepub fn update_project(&self) -> UpdateProjectFluentBuilder
pub fn update_project(&self) -> UpdateProjectFluentBuilder
Constructs a fluent builder for the UpdateProject
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project to update.
app_config_resource(ProjectAppConfigResourceConfig)
/set_app_config_resource(Option<ProjectAppConfigResourceConfig>)
:
required: falseUse this parameter if the project will use client-side evaluation powered by AppConfig. Client-side evaluation allows your application to assign variations to user sessions locally instead of by calling the EvaluateFeature operation. This mitigates the latency and availability risks that come with an API call. allows you to
This parameter is a structure that contains information about the AppConfig application that will be used for client-side evaluation.
description(impl Into<String>)
/set_description(Option<String>)
:
required: falseAn optional description of the project.
- On success, responds with
UpdateProjectOutput
with field(s):project(Option<Project>)
:A structure containing information about the updated project.
- On failure, responds with
SdkError<UpdateProjectError>
source§impl Client
impl Client
sourcepub fn update_project_data_delivery(
&self
) -> UpdateProjectDataDeliveryFluentBuilder
pub fn update_project_data_delivery( &self ) -> UpdateProjectDataDeliveryFluentBuilder
Constructs a fluent builder for the UpdateProjectDataDelivery
operation.
- The fluent builder is configurable:
project(impl Into<String>)
/set_project(Option<String>)
:
required: trueThe name or ARN of the project that you want to modify the data storage options for.
s3_destination(S3DestinationConfig)
/set_s3_destination(Option<S3DestinationConfig>)
:
required: falseA structure containing the S3 bucket name and bucket prefix where you want to store evaluation events.
cloud_watch_logs(CloudWatchLogsDestinationConfig)
/set_cloud_watch_logs(Option<CloudWatchLogsDestinationConfig>)
:
required: falseA structure containing the CloudWatch Logs log group where you want to store evaluation events.
- On success, responds with
UpdateProjectDataDeliveryOutput
with field(s):project(Option<Project>)
:A structure containing details about the project that you updated.
- On failure, responds with
SdkError<UpdateProjectDataDeliveryError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more