# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::CloudWatchEvidently
module Types
# You do not have sufficient permissions to perform this action.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/AccessDeniedException AWS API Documentation
#
class AccessDeniedException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass BatchEvaluateFeatureRequest
# data as a hash:
#
# {
# project: "ProjectRef", # required
# requests: [ # required
# {
# entity_id: "EntityId", # required
# evaluation_context: "JsonValue",
# feature: "FeatureName", # required
# },
# ],
# }
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature being
# evaluated.
# @return [String]
#
# @!attribute [rw] requests
# An array of structures, where each structure assigns a feature
# variation to one user session.
# @return [Array<Types::EvaluationRequest>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/BatchEvaluateFeatureRequest AWS API Documentation
#
class BatchEvaluateFeatureRequest < Struct.new(
:project,
:requests)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] results
# An array of structures, where each structure displays the results of
# one feature evaluation assignment to one user session.
# @return [Array<Types::EvaluationResult>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/BatchEvaluateFeatureResponse AWS API Documentation
#
class BatchEvaluateFeatureResponse < Struct.new(
:results)
SENSITIVE = []
include Aws::Structure
end
# A structure containing the CloudWatch Logs log group where the project
# stores evaluation events.
#
# @!attribute [rw] log_group
# The name of the log group where the project stores evaluation
# events.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CloudWatchLogsDestination AWS API Documentation
#
class CloudWatchLogsDestination < Struct.new(
:log_group)
SENSITIVE = []
include Aws::Structure
end
# A structure containing the CloudWatch Logs log group where the project
# stores evaluation events.
#
# @note When making an API call, you may pass CloudWatchLogsDestinationConfig
# data as a hash:
#
# {
# log_group: "CwLogGroupSafeName",
# }
#
# @!attribute [rw] log_group
# The name of the log group where the project stores evaluation
# events.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CloudWatchLogsDestinationConfig AWS API Documentation
#
class CloudWatchLogsDestinationConfig < Struct.new(
:log_group)
SENSITIVE = []
include Aws::Structure
end
# A resource was in an inconsistent state during an update or a
# deletion.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] resource_id
# The ID of the resource that caused the exception.
# @return [String]
#
# @!attribute [rw] resource_type
# The type of the resource that is associated with the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ConflictException AWS API Documentation
#
class ConflictException < Struct.new(
:message,
:resource_id,
:resource_type)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateExperimentRequest
# data as a hash:
#
# {
# description: "Description",
# metric_goals: [ # required
# {
# desired_change: "INCREASE", # accepts INCREASE, DECREASE
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# },
# ],
# name: "ExperimentName", # required
# online_ab_config: {
# control_treatment_name: "TreatmentName",
# treatment_weights: {
# "TreatmentName" => 1,
# },
# },
# project: "ProjectRef", # required
# randomization_salt: "RandomizationSalt",
# sampling_rate: 1,
# segment: "SegmentRef",
# tags: {
# "TagKey" => "TagValue",
# },
# treatments: [ # required
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "TreatmentName", # required
# variation: "VariationName", # required
# },
# ],
# }
#
# @!attribute [rw] description
# An optional description of the experiment.
# @return [String]
#
# @!attribute [rw] metric_goals
# An array of structures that defines the metrics used for the
# experiment, and whether a higher or lower value for each metric is
# the goal.
# @return [Array<Types::MetricGoalConfig>]
#
# @!attribute [rw] name
# A name for the new experiment.
# @return [String]
#
# @!attribute [rw] online_ab_config
# A 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.
# @return [Types::OnlineAbConfig]
#
# @!attribute [rw] project
# The name or ARN of the project that you want to create the new
# experiment in.
# @return [String]
#
# @!attribute [rw] randomization_salt
# When 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 omit `randomizationSalt`,
# Evidently uses the experiment name as the `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] sampling_rate
# The 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.
# @return [Integer]
#
# @!attribute [rw] segment
# Specifies 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.
# @return [String]
#
# @!attribute [rw] tags
# Assigns 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.
#
# <p>You can associate as many as 50 tags with an experiment.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
# @return [Hash<String,String>]
#
# @!attribute [rw] treatments
# An array of structures that describe the configuration of each
# feature variation used in the experiment.
# @return [Array<Types::TreatmentConfig>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateExperimentRequest AWS API Documentation
#
class CreateExperimentRequest < Struct.new(
:description,
:metric_goals,
:name,
:online_ab_config,
:project,
:randomization_salt,
:sampling_rate,
:segment,
:tags,
:treatments)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] experiment
# A structure containing the configuration details of the experiment
# that you created.
# @return [Types::Experiment]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateExperimentResponse AWS API Documentation
#
class CreateExperimentResponse < Struct.new(
:experiment)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateFeatureRequest
# data as a hash:
#
# {
# default_variation: "VariationName",
# description: "Description",
# entity_overrides: {
# "EntityId" => "VariationName",
# },
# evaluation_strategy: "ALL_RULES", # accepts ALL_RULES, DEFAULT_VARIATION
# name: "FeatureName", # required
# project: "ProjectRef", # required
# tags: {
# "TagKey" => "TagValue",
# },
# variations: [ # required
# {
# name: "VariationName", # required
# value: { # required
# bool_value: false,
# double_value: 1.0,
# long_value: 1,
# string_value: "VariableValueStringValueString",
# },
# },
# ],
# }
#
# @!attribute [rw] default_variation
# The 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 the
# `variations` structure is used as the default variation.
# @return [String]
#
# @!attribute [rw] description
# An optional description of the feature.
# @return [String]
#
# @!attribute [rw] entity_overrides
# Specify 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.
# @return [Hash<String,String>]
#
# @!attribute [rw] evaluation_strategy
# Specify `ALL_RULES` to activate the traffic allocation specified by
# any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to
# serve the default variation to all users instead.
# @return [String]
#
# @!attribute [rw] name
# The name for the new feature.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that is to contain the new feature.
# @return [String]
#
# @!attribute [rw] tags
# Assigns 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.
#
# <p>You can associate as many as 50 tags with a feature.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
# @return [Hash<String,String>]
#
# @!attribute [rw] variations
# An array of structures that contain the configuration of the
# feature's different variations.
# @return [Array<Types::VariationConfig>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateFeatureRequest AWS API Documentation
#
class CreateFeatureRequest < Struct.new(
:default_variation,
:description,
:entity_overrides,
:evaluation_strategy,
:name,
:project,
:tags,
:variations)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] feature
# A structure that contains information about the new feature.
# @return [Types::Feature]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateFeatureResponse AWS API Documentation
#
class CreateFeatureResponse < Struct.new(
:feature)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateLaunchRequest
# data as a hash:
#
# {
# description: "Description",
# groups: [ # required
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "GroupName", # required
# variation: "VariationName", # required
# },
# ],
# metric_monitors: [
# {
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# },
# ],
# name: "LaunchName", # required
# project: "ProjectRef", # required
# randomization_salt: "RandomizationSalt",
# scheduled_splits_config: {
# steps: [ # required
# {
# group_weights: { # required
# "GroupName" => 1,
# },
# segment_overrides: [
# {
# evaluation_order: 1, # required
# segment: "SegmentRef", # required
# weights: { # required
# "GroupName" => 1,
# },
# },
# ],
# start_time: Time.now, # required
# },
# ],
# },
# tags: {
# "TagKey" => "TagValue",
# },
# }
#
# @!attribute [rw] description
# An optional description for the launch.
# @return [String]
#
# @!attribute [rw] groups
# An array of structures that contains the feature and variations that
# are to be used for the launch.
# @return [Array<Types::LaunchGroupConfig>]
#
# @!attribute [rw] metric_monitors
# An array of structures that define the metrics that will be used to
# monitor the launch performance.
# @return [Array<Types::MetricMonitorConfig>]
#
# @!attribute [rw] name
# The name for the new launch.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that you want to create the launch
# in.
# @return [String]
#
# @!attribute [rw] randomization_salt
# When 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 omit `randomizationSalt`,
# Evidently uses the launch name as the `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] scheduled_splits_config
# An array of structures that define the traffic allocation
# percentages among the feature variations during each step of the
# launch.
# @return [Types::ScheduledSplitsLaunchConfig]
#
# @!attribute [rw] tags
# Assigns 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.
#
# <p>You can associate as many as 50 tags with a launch.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateLaunchRequest AWS API Documentation
#
class CreateLaunchRequest < Struct.new(
:description,
:groups,
:metric_monitors,
:name,
:project,
:randomization_salt,
:scheduled_splits_config,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] launch
# A structure that contains the configuration of the launch that was
# created.
# @return [Types::Launch]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateLaunchResponse AWS API Documentation
#
class CreateLaunchResponse < Struct.new(
:launch)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateProjectRequest
# data as a hash:
#
# {
# app_config_resource: {
# application_id: "AppConfigResourceId",
# environment_id: "AppConfigResourceId",
# },
# data_delivery: {
# cloud_watch_logs: {
# log_group: "CwLogGroupSafeName",
# },
# s3_destination: {
# bucket: "S3BucketSafeName",
# prefix: "S3PrefixSafeName",
# },
# },
# description: "Description",
# name: "ProjectName", # required
# tags: {
# "TagKey" => "TagValue",
# },
# }
#
# @!attribute [rw] app_config_resource
# Use 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][1] operation. This mitigates the
# latency and availability risks that come with an API call. For more
# information, see [ Client-side evaluation - powered by
# AppConfig.][2]
#
# 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.
#
#
#
# [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
# [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-client-side-evaluation.html
# @return [Types::ProjectAppConfigResourceConfig]
#
# @!attribute [rw] data_delivery
# A 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.
# @return [Types::ProjectDataDeliveryConfig]
#
# @!attribute [rw] description
# An optional description of the project.
# @return [String]
#
# @!attribute [rw] name
# The name for the project.
# @return [String]
#
# @!attribute [rw] tags
# Assigns 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.
#
# <p>You can associate as many as 50 tags with a project.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateProjectRequest AWS API Documentation
#
class CreateProjectRequest < Struct.new(
:app_config_resource,
:data_delivery,
:description,
:name,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] project
# A structure that contains information about the created project.
# @return [Types::Project]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateProjectResponse AWS API Documentation
#
class CreateProjectResponse < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass CreateSegmentRequest
# data as a hash:
#
# {
# description: "Description",
# name: "SegmentName", # required
# pattern: "SegmentPattern", # required
# tags: {
# "TagKey" => "TagValue",
# },
# }
#
# @!attribute [rw] description
# An optional description for this segment.
# @return [String]
#
# @!attribute [rw] name
# A name for the segment.
# @return [String]
#
# @!attribute [rw] pattern
# The pattern to use for the segment. For more information about
# pattern syntax, see [ Segment rule pattern syntax][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax.html
# @return [String]
#
# @!attribute [rw] tags
# Assigns 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.
#
# <p>You can associate as many as 50 tags with a segment.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegmentRequest AWS API Documentation
#
class CreateSegmentRequest < Struct.new(
:description,
:name,
:pattern,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] segment
# A structure that contains the complete information about the segment
# that was just created.
# @return [Types::Segment]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegmentResponse AWS API Documentation
#
class CreateSegmentResponse < Struct.new(
:segment)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass DeleteExperimentRequest
# data as a hash:
#
# {
# experiment: "ExperimentName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] experiment
# The name of the experiment to delete.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment to
# delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteExperimentRequest AWS API Documentation
#
class DeleteExperimentRequest < Struct.new(
:experiment,
:project)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteExperimentResponse AWS API Documentation
#
class DeleteExperimentResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass DeleteFeatureRequest
# data as a hash:
#
# {
# feature: "FeatureName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] feature
# The name of the feature to delete.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteFeatureRequest AWS API Documentation
#
class DeleteFeatureRequest < Struct.new(
:feature,
:project)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteFeatureResponse AWS API Documentation
#
class DeleteFeatureResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass DeleteLaunchRequest
# data as a hash:
#
# {
# launch: "LaunchName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] launch
# The name of the launch to delete.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteLaunchRequest AWS API Documentation
#
class DeleteLaunchRequest < Struct.new(
:launch,
:project)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteLaunchResponse AWS API Documentation
#
class DeleteLaunchResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass DeleteProjectRequest
# data as a hash:
#
# {
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] project
# The name or ARN of the project to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteProjectRequest AWS API Documentation
#
class DeleteProjectRequest < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteProjectResponse AWS API Documentation
#
class DeleteProjectResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass DeleteSegmentRequest
# data as a hash:
#
# {
# segment: "SegmentRef", # required
# }
#
# @!attribute [rw] segment
# Specifies the segment to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegmentRequest AWS API Documentation
#
class DeleteSegmentRequest < Struct.new(
:segment)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegmentResponse AWS API Documentation
#
class DeleteSegmentResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass EvaluateFeatureRequest
# data as a hash:
#
# {
# entity_id: "EntityId", # required
# evaluation_context: "JsonValue",
# feature: "FeatureName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] entity_id
# An internal ID that represents a unique user of the application.
# This `entityID` is checked against any override rules assigned for
# this feature.
# @return [String]
#
# @!attribute [rw] evaluation_context
# A 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][1].
#
# <p>If you include this parameter, the value must be a JSON object. A JSON array is not supported.</p>
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html
# @return [String]
#
# @!attribute [rw] feature
# The name of the feature being evaluated.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains this feature.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/EvaluateFeatureRequest AWS API Documentation
#
class EvaluateFeatureRequest < Struct.new(
:entity_id,
:evaluation_context,
:feature,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] details
# If this user was assigned to a launch or experiment, this field
# lists the launch or experiment name.
# @return [String]
#
# @!attribute [rw] reason
# 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; or
# `ENTITY_OVERRIDES_MATCH`, if the user's `entityId` matches an
# override rule.
# @return [String]
#
# @!attribute [rw] value
# The value assigned to this variation to differentiate it from the
# other variations of this feature.
# @return [Types::VariableValue]
#
# @!attribute [rw] variation
# The name of the variation that was served to the user session.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/EvaluateFeatureResponse AWS API Documentation
#
class EvaluateFeatureResponse < Struct.new(
:details,
:reason,
:value,
:variation)
SENSITIVE = []
include Aws::Structure
end
# This structure assigns a feature variation to one user session.
#
# @note When making an API call, you may pass EvaluationRequest
# data as a hash:
#
# {
# entity_id: "EntityId", # required
# evaluation_context: "JsonValue",
# feature: "FeatureName", # required
# }
#
# @!attribute [rw] entity_id
# An internal ID that represents a unique user session of the
# application. This `entityID` is checked against any override rules
# assigned for this feature.
# @return [String]
#
# @!attribute [rw] evaluation_context
# A JSON block of attributes that you can optionally pass in. This
# JSON block is included in the evaluation events sent to Evidently
# from the user session.
# @return [String]
#
# @!attribute [rw] feature
# The name of the feature being evaluated.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/EvaluationRequest AWS API Documentation
#
class EvaluationRequest < Struct.new(
:entity_id,
:evaluation_context,
:feature)
SENSITIVE = []
include Aws::Structure
end
# This structure displays the results of one feature evaluation
# assignment to one user session.
#
# @!attribute [rw] details
# If this user was assigned to a launch or experiment, this field
# lists the launch or experiment name.
# @return [String]
#
# @!attribute [rw] entity_id
# An internal ID that represents a unique user session of the
# application.
# @return [String]
#
# @!attribute [rw] feature
# The name of the feature being evaluated.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature being
# evaluated.
# @return [String]
#
# @!attribute [rw] reason
# 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; or `EXPERIMENT_RULE_MATCH`, if the
# user session was enrolled in an experiment.
# @return [String]
#
# @!attribute [rw] value
# The value assigned to this variation to differentiate it from the
# other variations of this feature.
# @return [Types::VariableValue]
#
# @!attribute [rw] variation
# The name of the variation that was served to the user session.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/EvaluationResult AWS API Documentation
#
class EvaluationResult < Struct.new(
:details,
:entity_id,
:feature,
:project,
:reason,
:value,
:variation)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains the information about an evaluation rule for
# this feature, if it is used in a launch or experiment.
#
# @!attribute [rw] name
# The name of the experiment or launch.
# @return [String]
#
# @!attribute [rw] type
# This value is `aws.evidently.splits` if this is an evaluation rule
# for a launch, and it is `aws.evidently.onlineab` if this is an
# evaluation rule for an experiment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/EvaluationRule AWS API Documentation
#
class EvaluationRule < Struct.new(
:name,
:type)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains the information about one evaluation event
# or custom event sent to Evidently. This is a JSON payload. If this
# event specifies a pre-defined event type, the payload must follow the
# defined event schema.
#
# @note When making an API call, you may pass Event
# data as a hash:
#
# {
# data: "JsonValue", # required
# timestamp: Time.now, # required
# type: "aws.evidently.evaluation", # required, accepts aws.evidently.evaluation, aws.evidently.custom
# }
#
# @!attribute [rw] data
# The event data.
# @return [String]
#
# @!attribute [rw] timestamp
# The timestamp of the event.
# @return [Time]
#
# @!attribute [rw] type
# `aws.evidently.evaluation` specifies an evaluation event, which
# determines which feature variation that a user sees.
# `aws.evidently.custom` specifies a custom event, which generates
# metrics from user actions such as clicks and checkouts.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Event AWS API Documentation
#
class Event < Struct.new(
:data,
:timestamp,
:type)
SENSITIVE = []
include Aws::Structure
end
# A structure containing the configuration details of an experiment.
#
# @!attribute [rw] arn
# The ARN of the experiment.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the experiment is first created.
# @return [Time]
#
# @!attribute [rw] description
# A description of the experiment.
# @return [String]
#
# @!attribute [rw] execution
# A structure that contains the date and time that the experiment
# started and ended.
# @return [Types::ExperimentExecution]
#
# @!attribute [rw] last_updated_time
# The date and time that the experiment was most recently updated.
# @return [Time]
#
# @!attribute [rw] metric_goals
# An array of structures that defines the metrics used for the
# experiment, and whether a higher or lower value for each metric is
# the goal.
# @return [Array<Types::MetricGoal>]
#
# @!attribute [rw] name
# The name of the experiment.
# @return [String]
#
# @!attribute [rw] online_ab_definition
# A structure that contains the configuration of which variation to
# 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.
# @return [Types::OnlineAbDefinition]
#
# @!attribute [rw] project
# The name or ARN of the project that contains this experiment.
# @return [String]
#
# @!attribute [rw] randomization_salt
# This value is used when Evidently assigns a particular user session
# to the experiment. It helps create a randomization ID to determine
# which variation the user session is served. This randomization ID is
# a combination of the entity ID and `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] sampling_rate
# In thousandths of a percent, the amount of the available audience
# that is allocated to this experiment. 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, so a value of
# 10,000 is 10% of the available audience.
# @return [Integer]
#
# @!attribute [rw] schedule
# A structure that contains the time and date that Evidently completed
# the analysis of the experiment.
# @return [Types::ExperimentSchedule]
#
# @!attribute [rw] segment
# The audience segment being used for the experiment, if a segment is
# being used.
# @return [String]
#
# @!attribute [rw] status
# The current state of the experiment.
# @return [String]
#
# @!attribute [rw] status_reason
# If the experiment was stopped, this is the string that was entered
# by the person who stopped the experiment, to explain why it was
# stopped.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this experiment.
# @return [Hash<String,String>]
#
# @!attribute [rw] treatments
# An array of structures that describe the configuration of each
# feature variation used in the experiment.
# @return [Array<Types::Treatment>]
#
# @!attribute [rw] type
# The type of this experiment. Currently, this value must be
# `aws.experiment.onlineab`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Experiment AWS API Documentation
#
class Experiment < Struct.new(
:arn,
:created_time,
:description,
:execution,
:last_updated_time,
:metric_goals,
:name,
:online_ab_definition,
:project,
:randomization_salt,
:sampling_rate,
:schedule,
:segment,
:status,
:status_reason,
:tags,
:treatments,
:type)
SENSITIVE = []
include Aws::Structure
end
# This structure contains the date and time that the experiment started
# and ended.
#
# @!attribute [rw] ended_time
# The date and time that the experiment ended.
# @return [Time]
#
# @!attribute [rw] started_time
# The date and time that the experiment started.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ExperimentExecution AWS API Documentation
#
class ExperimentExecution < Struct.new(
:ended_time,
:started_time)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains results of an experiment.
#
# @!attribute [rw] content
# The content of the report.
# @return [String]
#
# @!attribute [rw] metric_name
# The name of the metric that is analyzed in this experiment report.
# @return [String]
#
# @!attribute [rw] report_name
# The type of analysis used for this report.
# @return [String]
#
# @!attribute [rw] treatment_name
# The name of the variation that this report pertains to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ExperimentReport AWS API Documentation
#
class ExperimentReport < Struct.new(
:content,
:metric_name,
:report_name,
:treatment_name)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains experiment results for one metric that is
# monitored in the experiment.
#
# @!attribute [rw] metric_name
# The name of the metric.
# @return [String]
#
# @!attribute [rw] result_stat
# The experiment statistic that these results pertain to.
# @return [String]
#
# @!attribute [rw] treatment_name
# The treatment, or variation, that returned the `values` in this
# structure.
# @return [String]
#
# @!attribute [rw] values
# The values for the `metricName` that were recorded in the
# experiment.
# @return [Array<Float>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ExperimentResultsData AWS API Documentation
#
class ExperimentResultsData < Struct.new(
:metric_name,
:result_stat,
:treatment_name,
:values)
SENSITIVE = []
include Aws::Structure
end
# This structure contains the time and date that Evidently completed the
# analysis of the experiment.
#
# @!attribute [rw] analysis_complete_time
# The time and date that Evidently completed the analysis of the
# experiment.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ExperimentSchedule AWS API Documentation
#
class ExperimentSchedule < Struct.new(
:analysis_complete_time)
SENSITIVE = []
include Aws::Structure
end
# This structure contains information about one Evidently feature in
# your account.
#
# @!attribute [rw] arn
# The ARN of the feature.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the feature is created.
# @return [Time]
#
# @!attribute [rw] default_variation
# The name of the variation that is used 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 the
# `variations` structure is used as the default variation.
# @return [String]
#
# @!attribute [rw] description
# The description of the feature.
# @return [String]
#
# @!attribute [rw] entity_overrides
# A set of key-value pairs that specify users who should always be
# served a specific variation of a feature. Each key specifies a user
# using their user ID, account ID, or some other identifier. The value
# specifies the name of the variation that the user is to be served.
#
# For the override to be successful, the value of the key must match
# the `entityId` used in the [EvaluateFeature][1] operation.
#
#
#
# [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
# @return [Hash<String,String>]
#
# @!attribute [rw] evaluation_rules
# An array of structures that define the evaluation rules for the
# feature.
# @return [Array<Types::EvaluationRule>]
#
# @!attribute [rw] evaluation_strategy
# If this value is `ALL_RULES`, the traffic allocation specified by
# any ongoing launches or experiments is being used. If this is
# `DEFAULT_VARIATION`, the default variation is being served to all
# users.
# @return [String]
#
# @!attribute [rw] last_updated_time
# The date and time that the feature was most recently updated.
# @return [Time]
#
# @!attribute [rw] name
# The name of the feature.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature.
# @return [String]
#
# @!attribute [rw] status
# The current state of the feature.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this feature.
# @return [Hash<String,String>]
#
# @!attribute [rw] value_type
# Defines the type of value used to define the different feature
# variations. For more information, see [Variation types][1]
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-variationtypes.html
# @return [String]
#
# @!attribute [rw] variations
# An array of structures that contain the configuration of the
# feature's different variations.
# @return [Array<Types::Variation>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Feature AWS API Documentation
#
class Feature < Struct.new(
:arn,
:created_time,
:default_variation,
:description,
:entity_overrides,
:evaluation_rules,
:evaluation_strategy,
:last_updated_time,
:name,
:project,
:status,
:tags,
:value_type,
:variations)
SENSITIVE = []
include Aws::Structure
end
# This structure contains information about one Evidently feature in
# your account.
#
# @!attribute [rw] arn
# The ARN of the feature.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the feature is created.
# @return [Time]
#
# @!attribute [rw] default_variation
# The name of the variation that is used as the default variation. The
# default variation is served to users who are not allocated to any
# ongoing launches or experiments of this feature.
# @return [String]
#
# @!attribute [rw] evaluation_rules
# An array of structures that define
# @return [Array<Types::EvaluationRule>]
#
# @!attribute [rw] evaluation_strategy
# If this value is `ALL_RULES`, the traffic allocation specified by
# any ongoing launches or experiments is being used. If this is
# `DEFAULT_VARIATION`, the default variation is being served to all
# users.
# @return [String]
#
# @!attribute [rw] last_updated_time
# The date and time that the feature was most recently updated.
# @return [Time]
#
# @!attribute [rw] name
# The name of the feature.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature.
# @return [String]
#
# @!attribute [rw] status
# The current state of the feature.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this feature.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/FeatureSummary AWS API Documentation
#
class FeatureSummary < Struct.new(
:arn,
:created_time,
:default_variation,
:evaluation_rules,
:evaluation_strategy,
:last_updated_time,
:name,
:project,
:status,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetExperimentRequest
# data as a hash:
#
# {
# experiment: "ExperimentName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] experiment
# The name of the experiment that you want to see the details of.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetExperimentRequest AWS API Documentation
#
class GetExperimentRequest < Struct.new(
:experiment,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] experiment
# A structure containing the configuration details of the experiment.
# @return [Types::Experiment]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetExperimentResponse AWS API Documentation
#
class GetExperimentResponse < Struct.new(
:experiment)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetExperimentResultsRequest
# data as a hash:
#
# {
# base_stat: "Mean", # accepts Mean
# end_time: Time.now,
# experiment: "ExperimentName", # required
# metric_names: ["CwDimensionSafeName"], # required
# period: 1,
# project: "ProjectRef", # required
# report_names: ["BayesianInference"], # accepts BayesianInference
# result_stats: ["BaseStat"], # accepts BaseStat, TreatmentEffect, ConfidenceInterval, PValue
# start_time: Time.now,
# treatment_names: ["TreatmentName"], # required
# }
#
# @!attribute [rw] base_stat
# 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.
# @return [String]
#
# @!attribute [rw] end_time
# 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.
# @return [Time]
#
# @!attribute [rw] experiment
# The name of the experiment to retrieve the results of.
# @return [String]
#
# @!attribute [rw] metric_names
# The names of the experiment metrics that you want to see the results
# of.
# @return [Array<String>]
#
# @!attribute [rw] period
# In seconds, the amount of time to aggregate results together.
# @return [Integer]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment that you
# want to see the results of.
# @return [String]
#
# @!attribute [rw] report_names
# The names of the report types that you want to see. Currently,
# `BayesianInference` is the only valid value.
# @return [Array<String>]
#
# @!attribute [rw] result_stats
# 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.
# @return [Array<String>]
#
# @!attribute [rw] start_time
# The date and time that the experiment started.
# @return [Time]
#
# @!attribute [rw] treatment_names
# The names of the experiment treatments that you want to see the
# results for.
# @return [Array<String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetExperimentResultsRequest AWS API Documentation
#
class GetExperimentResultsRequest < Struct.new(
:base_stat,
:end_time,
:experiment,
:metric_names,
:period,
:project,
:report_names,
:result_stats,
:start_time,
:treatment_names)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] details
# 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.
# @return [String]
#
# @!attribute [rw] reports
# An array of structures that include the reports that you requested.
# @return [Array<Types::ExperimentReport>]
#
# @!attribute [rw] results_data
# An array of structures that include experiment results including
# metric names and values.
# @return [Array<Types::ExperimentResultsData>]
#
# @!attribute [rw] timestamps
# The timestamps of each result returned.
# @return [Array<Time>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetExperimentResultsResponse AWS API Documentation
#
class GetExperimentResultsResponse < Struct.new(
:details,
:reports,
:results_data,
:timestamps)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetFeatureRequest
# data as a hash:
#
# {
# feature: "FeatureName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] feature
# The name of the feature that you want to retrieve information for.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetFeatureRequest AWS API Documentation
#
class GetFeatureRequest < Struct.new(
:feature,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] feature
# A structure containing the configuration details of the feature.
# @return [Types::Feature]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetFeatureResponse AWS API Documentation
#
class GetFeatureResponse < Struct.new(
:feature)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetLaunchRequest
# data as a hash:
#
# {
# launch: "LaunchName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] launch
# The name of the launch that you want to see the details of.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetLaunchRequest AWS API Documentation
#
class GetLaunchRequest < Struct.new(
:launch,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] launch
# A structure containing the configuration details of the launch.
# @return [Types::Launch]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetLaunchResponse AWS API Documentation
#
class GetLaunchResponse < Struct.new(
:launch)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetProjectRequest
# data as a hash:
#
# {
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] project
# The name or ARN of the project that you want to see the details of.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetProjectRequest AWS API Documentation
#
class GetProjectRequest < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] project
# A structure containing the configuration details of the project.
# @return [Types::Project]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetProjectResponse AWS API Documentation
#
class GetProjectResponse < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass GetSegmentRequest
# data as a hash:
#
# {
# segment: "SegmentRef", # required
# }
#
# @!attribute [rw] segment
# The ARN of the segment to return information for.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegmentRequest AWS API Documentation
#
class GetSegmentRequest < Struct.new(
:segment)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] segment
# A structure that contains the complete information about the
# segment.
# @return [Types::Segment]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegmentResponse AWS API Documentation
#
class GetSegmentResponse < Struct.new(
:segment)
SENSITIVE = []
include Aws::Structure
end
# Unexpected error while processing the request. Retry the request.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/InternalServerException AWS API Documentation
#
class InternalServerException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# This structure contains the configuration details of one Evidently
# launch.
#
# @!attribute [rw] arn
# The ARN of the launch.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the launch is created.
# @return [Time]
#
# @!attribute [rw] description
# The description of the launch.
# @return [String]
#
# @!attribute [rw] execution
# A structure that contains information about the start and end times
# of the launch.
# @return [Types::LaunchExecution]
#
# @!attribute [rw] groups
# An array of structures that define the feature variations that are
# being used in the launch.
# @return [Array<Types::LaunchGroup>]
#
# @!attribute [rw] last_updated_time
# The date and time that the launch was most recently updated.
# @return [Time]
#
# @!attribute [rw] metric_monitors
# An array of structures that define the metrics that are being used
# to monitor the launch performance.
# @return [Array<Types::MetricMonitor>]
#
# @!attribute [rw] name
# The name of the launch.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch.
# @return [String]
#
# @!attribute [rw] randomization_salt
# This value is used when Evidently assigns a particular user session
# to the launch, to help create a randomization ID to determine which
# variation the user session is served. This randomization ID is a
# combination of the entity ID and `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] scheduled_splits_definition
# An array of structures that define the traffic allocation
# percentages among the feature variations during each step of the
# launch.
# @return [Types::ScheduledSplitsLaunchDefinition]
#
# @!attribute [rw] status
# The current state of the launch.
# @return [String]
#
# @!attribute [rw] status_reason
# If the launch was stopped, this is the string that was entered by
# the person who stopped the launch, to explain why it was stopped.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this launch.
# @return [Hash<String,String>]
#
# @!attribute [rw] type
# The type of launch.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Launch AWS API Documentation
#
class Launch < Struct.new(
:arn,
:created_time,
:description,
:execution,
:groups,
:last_updated_time,
:metric_monitors,
:name,
:project,
:randomization_salt,
:scheduled_splits_definition,
:status,
:status_reason,
:tags,
:type)
SENSITIVE = []
include Aws::Structure
end
# This structure contains information about the start and end times of
# the launch.
#
# @!attribute [rw] ended_time
# The date and time that the launch ended.
# @return [Time]
#
# @!attribute [rw] started_time
# The date and time that the launch started.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/LaunchExecution AWS API Documentation
#
class LaunchExecution < Struct.new(
:ended_time,
:started_time)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines one launch group in a launch. A launch group
# is a variation of the feature that you are including in the launch.
#
# @!attribute [rw] description
# A description of the launch group.
# @return [String]
#
# @!attribute [rw] feature_variations
# The feature variation for this launch group. This is a key-value
# pair.
# @return [Hash<String,String>]
#
# @!attribute [rw] name
# The name of the launch group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/LaunchGroup AWS API Documentation
#
class LaunchGroup < Struct.new(
:description,
:feature_variations,
:name)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines one launch group in a launch. A launch group
# is a variation of the feature that you are including in the launch.
#
# @note When making an API call, you may pass LaunchGroupConfig
# data as a hash:
#
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "GroupName", # required
# variation: "VariationName", # required
# }
#
# @!attribute [rw] description
# A description of the launch group.
# @return [String]
#
# @!attribute [rw] feature
# The feature that this launch is using.
# @return [String]
#
# @!attribute [rw] name
# A name for this launch group.
# @return [String]
#
# @!attribute [rw] variation
# The feature variation to use for this launch group.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/LaunchGroupConfig AWS API Documentation
#
class LaunchGroupConfig < Struct.new(
:description,
:feature,
:name,
:variation)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListExperimentsRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# project: "ProjectRef", # required
# status: "CREATED", # accepts CREATED, UPDATING, RUNNING, COMPLETED, CANCELLED
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListExperiments` operation.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project to return the experiment list from.
# @return [String]
#
# @!attribute [rw] status
# Use this optional parameter to limit the returned results to only
# the experiments with the status that you specify here.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListExperimentsRequest AWS API Documentation
#
class ListExperimentsRequest < Struct.new(
:max_results,
:next_token,
:project,
:status)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] experiments
# An array of structures that contain the configuration details of the
# experiments in the specified project.
# @return [Array<Types::Experiment>]
#
# @!attribute [rw] next_token
# The token to use in a subsequent `ListExperiments` operation to
# return the next set of results.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListExperimentsResponse AWS API Documentation
#
class ListExperimentsResponse < Struct.new(
:experiments,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListFeaturesRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListFeatures` operation.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project to return the feature list from.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListFeaturesRequest AWS API Documentation
#
class ListFeaturesRequest < Struct.new(
:max_results,
:next_token,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] features
# An array of structures that contain the configuration details of the
# features in the specified project.
# @return [Array<Types::FeatureSummary>]
#
# @!attribute [rw] next_token
# The token to use in a subsequent `ListFeatures` operation to return
# the next set of results.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListFeaturesResponse AWS API Documentation
#
class ListFeaturesResponse < Struct.new(
:features,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListLaunchesRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# project: "ProjectRef", # required
# status: "CREATED", # accepts CREATED, UPDATING, RUNNING, COMPLETED, CANCELLED
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListLaunches` operation.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project to return the launch list from.
# @return [String]
#
# @!attribute [rw] status
# Use this optional parameter to limit the returned results to only
# the launches with the status that you specify here.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListLaunchesRequest AWS API Documentation
#
class ListLaunchesRequest < Struct.new(
:max_results,
:next_token,
:project,
:status)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] launches
# An array of structures that contain the configuration details of the
# launches in the specified project.
# @return [Array<Types::Launch>]
#
# @!attribute [rw] next_token
# The token to use in a subsequent `ListLaunches` operation to return
# the next set of results.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListLaunchesResponse AWS API Documentation
#
class ListLaunchesResponse < Struct.new(
:launches,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListProjectsRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListProjects` operation.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListProjectsRequest AWS API Documentation
#
class ListProjectsRequest < Struct.new(
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# The token to use in a subsequent `ListProjects` operation to return
# the next set of results.
# @return [String]
#
# @!attribute [rw] projects
# An array of structures that contain the configuration details of the
# projects in the Region.
# @return [Array<Types::ProjectSummary>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListProjectsResponse AWS API Documentation
#
class ListProjectsResponse < Struct.new(
:next_token,
:projects)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListSegmentReferencesRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# segment: "SegmentRef", # required
# type: "EXPERIMENT", # required, accepts EXPERIMENT, LAUNCH
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response. If you
# omit this, the default of 50 is used.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListSegmentReferences`
# operation.
# @return [String]
#
# @!attribute [rw] segment
# The ARN of the segment that you want to view information for.
# @return [String]
#
# @!attribute [rw] type
# Specifies whether to return information about launches or
# experiments that use this segment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferencesRequest AWS API Documentation
#
class ListSegmentReferencesRequest < Struct.new(
:max_results,
:next_token,
:segment,
:type)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# The token to use in a subsequent `ListSegmentReferences` operation
# to return the next set of results.
# @return [String]
#
# @!attribute [rw] referenced_by
# An array of structures, where each structure contains information
# about one experiment or launch that uses this segment.
# @return [Array<Types::RefResource>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferencesResponse AWS API Documentation
#
class ListSegmentReferencesResponse < Struct.new(
:next_token,
:referenced_by)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListSegmentsRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "NextToken",
# }
#
# @!attribute [rw] max_results
# The maximum number of results to include in the response. If you
# omit this, the default of 50 is used.
# @return [Integer]
#
# @!attribute [rw] next_token
# The token to use when requesting the next set of results. You
# received this token from a previous `ListSegments` operation.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentsRequest AWS API Documentation
#
class ListSegmentsRequest < Struct.new(
:max_results,
:next_token)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] next_token
# The token to use in a subsequent `ListSegments` operation to return
# the next set of results.
# @return [String]
#
# @!attribute [rw] segments
# An array of structures that contain information about the segments
# in this Region.
# @return [Array<Types::Segment>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentsResponse AWS API Documentation
#
class ListSegmentsResponse < Struct.new(
:next_token,
:segments)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass ListTagsForResourceRequest
# data as a hash:
#
# {
# resource_arn: "Arn", # required
# }
#
# @!attribute [rw] resource_arn
# The ARN of the resource that you want to see the tags of.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListTagsForResourceRequest AWS API Documentation
#
class ListTagsForResourceRequest < Struct.new(
:resource_arn)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] tags
# The list of tag keys and values associated with the resource you
# specified.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListTagsForResourceResponse AWS API Documentation
#
class ListTagsForResourceResponse < Struct.new(
:tags)
SENSITIVE = []
include Aws::Structure
end
# This structure defines a metric that is being used to evaluate the
# variations during a launch or experiment.
#
# @!attribute [rw] entity_id_key
# The entity, such as a user or session, that does an action that
# causes a metric value to be recorded.
# @return [String]
#
# @!attribute [rw] event_pattern
# The EventBridge event pattern that defines how the metric is
# recorded.
#
# For more information about EventBridge event patterns, see [Amazon
# EventBridge event patterns][1].
#
#
#
# [1]: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html
# @return [String]
#
# @!attribute [rw] name
# The name of the metric.
# @return [String]
#
# @!attribute [rw] unit_label
# The label for the units that the metric is measuring.
# @return [String]
#
# @!attribute [rw] value_key
# The value that is tracked to produce the metric.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricDefinition AWS API Documentation
#
class MetricDefinition < Struct.new(
:entity_id_key,
:event_pattern,
:name,
:unit_label,
:value_key)
SENSITIVE = []
include Aws::Structure
end
# This structure defines a metric that you want to use to evaluate the
# variations during a launch or experiment.
#
# @note When making an API call, you may pass MetricDefinitionConfig
# data as a hash:
#
# {
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# }
#
# @!attribute [rw] entity_id_key
# The entity, such as a user or session, that does an action that
# causes a metric value to be recorded. An example is
# `userDetails.userID`.
# @return [String]
#
# @!attribute [rw] event_pattern
# The EventBridge event pattern that defines how the metric is
# recorded.
#
# For more information about EventBridge event patterns, see [Amazon
# EventBridge event patterns][1].
#
#
#
# [1]: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html
# @return [String]
#
# @!attribute [rw] name
# A name for the metric.
# @return [String]
#
# @!attribute [rw] unit_label
# A label for the units that the metric is measuring.
# @return [String]
#
# @!attribute [rw] value_key
# The value that is tracked to produce the metric.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricDefinitionConfig AWS API Documentation
#
class MetricDefinitionConfig < Struct.new(
:entity_id_key,
:event_pattern,
:name,
:unit_label,
:value_key)
SENSITIVE = []
include Aws::Structure
end
# A structure that tells Evidently whether higher or lower values are
# desired for a metric that is used in an experiment.
#
# @!attribute [rw] desired_change
# `INCREASE` means that a variation with a higher number for this
# metric is performing better.
#
# `DECREASE` means that a variation with a lower number for this
# metric is performing better.
# @return [String]
#
# @!attribute [rw] metric_definition
# A structure that contains details about the metric.
# @return [Types::MetricDefinition]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricGoal AWS API Documentation
#
class MetricGoal < Struct.new(
:desired_change,
:metric_definition)
SENSITIVE = []
include Aws::Structure
end
# Use this structure to tell Evidently whether higher or lower values
# are desired for a metric that is used in an experiment.
#
# @note When making an API call, you may pass MetricGoalConfig
# data as a hash:
#
# {
# desired_change: "INCREASE", # accepts INCREASE, DECREASE
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# }
#
# @!attribute [rw] desired_change
# `INCREASE` means that a variation with a higher number for this
# metric is performing better.
#
# `DECREASE` means that a variation with a lower number for this
# metric is performing better.
# @return [String]
#
# @!attribute [rw] metric_definition
# A structure that contains details about the metric.
# @return [Types::MetricDefinitionConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricGoalConfig AWS API Documentation
#
class MetricGoalConfig < Struct.new(
:desired_change,
:metric_definition)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines a metric to be used to monitor performance of
# the variations during a launch.
#
# @!attribute [rw] metric_definition
# A structure that defines the metric.
# @return [Types::MetricDefinition]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricMonitor AWS API Documentation
#
class MetricMonitor < Struct.new(
:metric_definition)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines a metric to be used to monitor performance of
# the variations during a launch.
#
# @note When making an API call, you may pass MetricMonitorConfig
# data as a hash:
#
# {
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# }
#
# @!attribute [rw] metric_definition
# A structure that defines the metric.
# @return [Types::MetricDefinitionConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/MetricMonitorConfig AWS API Documentation
#
class MetricMonitorConfig < Struct.new(
:metric_definition)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains the configuration of which variation to 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.
#
# @note When making an API call, you may pass OnlineAbConfig
# data as a hash:
#
# {
# control_treatment_name: "TreatmentName",
# treatment_weights: {
# "TreatmentName" => 1,
# },
# }
#
# @!attribute [rw] control_treatment_name
# The name of the variation that is to be the default variation that
# the other variations are compared to.
# @return [String]
#
# @!attribute [rw] treatment_weights
# A set of key-value pairs. The keys are variation names, and the
# values are the portion of experiment traffic to be assigned to that
# variation. Specify the traffic portion in thousandths of a percent,
# so 20,000 for a variation would allocate 20% of the experiment
# traffic to that variation.
# @return [Hash<String,Integer>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/OnlineAbConfig AWS API Documentation
#
class OnlineAbConfig < Struct.new(
:control_treatment_name,
:treatment_weights)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains the configuration of which variation to 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.
#
# @!attribute [rw] control_treatment_name
# The name of the variation that is the default variation that the
# other variations are compared to.
# @return [String]
#
# @!attribute [rw] treatment_weights
# A set of key-value pairs. The keys are variation names, and the
# values are the portion of experiment traffic to be assigned to that
# variation. The traffic portion is specified in thousandths of a
# percent, so 20,000 for a variation would allocate 20% of the
# experiment traffic to that variation.
# @return [Hash<String,Integer>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/OnlineAbDefinition AWS API Documentation
#
class OnlineAbDefinition < Struct.new(
:control_treatment_name,
:treatment_weights)
SENSITIVE = []
include Aws::Structure
end
# This structure defines a project, which is the logical object in
# Evidently that can contain features, launches, and experiments. Use
# projects to group similar features together.
#
# @!attribute [rw] active_experiment_count
# The number of ongoing experiments currently in the project.
# @return [Integer]
#
# @!attribute [rw] active_launch_count
# The number of ongoing launches currently in the project.
# @return [Integer]
#
# @!attribute [rw] app_config_resource
# This structure defines the configuration of how your application
# integrates with AppConfig to run client-side evaluation.
# @return [Types::ProjectAppConfigResource]
#
# @!attribute [rw] arn
# The name or ARN of the project.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the project is created.
# @return [Time]
#
# @!attribute [rw] data_delivery
# A structure that contains information about where Evidently is to
# store evaluation events for longer term storage.
# @return [Types::ProjectDataDelivery]
#
# @!attribute [rw] description
# The user-entered description of the project.
# @return [String]
#
# @!attribute [rw] experiment_count
# The number of experiments currently in the project. This includes
# all experiments that have been created and not deleted, whether they
# are ongoing or not.
# @return [Integer]
#
# @!attribute [rw] feature_count
# The number of features currently in the project.
# @return [Integer]
#
# @!attribute [rw] last_updated_time
# The date and time that the project was most recently updated.
# @return [Time]
#
# @!attribute [rw] launch_count
# The number of launches currently in the project. This includes all
# launches that have been created and not deleted, whether they are
# ongoing or not.
# @return [Integer]
#
# @!attribute [rw] name
# The name of the project.
# @return [String]
#
# @!attribute [rw] status
# The current state of the project.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this project.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Project AWS API Documentation
#
class Project < Struct.new(
:active_experiment_count,
:active_launch_count,
:app_config_resource,
:arn,
:created_time,
:data_delivery,
:description,
:experiment_count,
:feature_count,
:last_updated_time,
:launch_count,
:name,
:status,
:tags)
SENSITIVE = []
include Aws::Structure
end
# This is a structure that defines the configuration of how your
# application integrates with AppConfig to run client-side evaluation.
#
# @!attribute [rw] application_id
# The ID of the AppConfig application to use for client-side
# evaluation.
# @return [String]
#
# @!attribute [rw] configuration_profile_id
# The ID of the AppConfig profile to use for client-side evaluation.
# @return [String]
#
# @!attribute [rw] environment_id
# The ID of the AppConfig environment to use for client-side
# evaluation. This must be an environment that is within the
# application that you specify for `applicationId`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ProjectAppConfigResource AWS API Documentation
#
class ProjectAppConfigResource < Struct.new(
:application_id,
:configuration_profile_id,
:environment_id)
SENSITIVE = []
include Aws::Structure
end
# Use this parameter to configure client-side evaluation for your
# project. Client-side evaluation allows your application to assign
# variations to user sessions locally instead of by calling the
# [EvaluateFeature][1] operation to assign the variations. This
# mitigates the latency and availability risks that come with an API
# call.
#
# `ProjectAppConfigResource` is a structure that defines the
# configuration of how your application integrates with AppConfig to run
# client-side evaluation.
#
#
#
# [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
#
# @note When making an API call, you may pass ProjectAppConfigResourceConfig
# data as a hash:
#
# {
# application_id: "AppConfigResourceId",
# environment_id: "AppConfigResourceId",
# }
#
# @!attribute [rw] application_id
# The ID of the AppConfig application to use for client-side
# evaluation.
# @return [String]
#
# @!attribute [rw] environment_id
# The ID of the AppConfig environment to use for client-side
# evaluation. This must be an environment that is within the
# application that you specify for `applicationId`.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ProjectAppConfigResourceConfig AWS API Documentation
#
class ProjectAppConfigResourceConfig < Struct.new(
:application_id,
:environment_id)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains information about where Evidently is to
# store evaluation events for longer term storage.
#
# @!attribute [rw] cloud_watch_logs
# If the project stores evaluation events in CloudWatch Logs, this
# structure stores the log group name.
# @return [Types::CloudWatchLogsDestination]
#
# @!attribute [rw] s3_destination
# If the project stores evaluation events in an Amazon S3 bucket, this
# structure stores the bucket name and bucket prefix.
# @return [Types::S3Destination]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ProjectDataDelivery AWS API Documentation
#
class ProjectDataDelivery < Struct.new(
:cloud_watch_logs,
:s3_destination)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains information about where Evidently is to
# store evaluation events for longer term storage.
#
# @note When making an API call, you may pass ProjectDataDeliveryConfig
# data as a hash:
#
# {
# cloud_watch_logs: {
# log_group: "CwLogGroupSafeName",
# },
# s3_destination: {
# bucket: "S3BucketSafeName",
# prefix: "S3PrefixSafeName",
# },
# }
#
# @!attribute [rw] cloud_watch_logs
# If the project stores evaluation events in CloudWatch Logs, this
# structure stores the log group name.
# @return [Types::CloudWatchLogsDestinationConfig]
#
# @!attribute [rw] s3_destination
# If the project stores evaluation events in an Amazon S3 bucket, this
# structure stores the bucket name and bucket prefix.
# @return [Types::S3DestinationConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ProjectDataDeliveryConfig AWS API Documentation
#
class ProjectDataDeliveryConfig < Struct.new(
:cloud_watch_logs,
:s3_destination)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains configuration information about an Evidently
# project.
#
# @!attribute [rw] active_experiment_count
# The number of experiments currently in the project.
# @return [Integer]
#
# @!attribute [rw] active_launch_count
# The number of ongoing launches currently in the project.
# @return [Integer]
#
# @!attribute [rw] arn
# The name or ARN of the project.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that the project is created.
# @return [Time]
#
# @!attribute [rw] description
# The description of the project.
# @return [String]
#
# @!attribute [rw] experiment_count
# The number of experiments currently in the project.
# @return [Integer]
#
# @!attribute [rw] feature_count
# The number of features currently in the project.
# @return [Integer]
#
# @!attribute [rw] last_updated_time
# The date and time that the project was most recently updated.
# @return [Time]
#
# @!attribute [rw] launch_count
# The number of launches currently in the project, including launches
# that are ongoing, completed, and not started yet.
# @return [Integer]
#
# @!attribute [rw] name
# The name of the project.
# @return [String]
#
# @!attribute [rw] status
# The current state of the project.
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this project.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ProjectSummary AWS API Documentation
#
class ProjectSummary < Struct.new(
:active_experiment_count,
:active_launch_count,
:arn,
:created_time,
:description,
:experiment_count,
:feature_count,
:last_updated_time,
:launch_count,
:name,
:status,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass PutProjectEventsRequest
# data as a hash:
#
# {
# events: [ # required
# {
# data: "JsonValue", # required
# timestamp: Time.now, # required
# type: "aws.evidently.evaluation", # required, accepts aws.evidently.evaluation, aws.evidently.custom
# },
# ],
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] events
# An array of event structures that contain the performance data that
# is being sent to Evidently.
# @return [Array<Types::Event>]
#
# @!attribute [rw] project
# The name or ARN of the project to write the events to.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/PutProjectEventsRequest AWS API Documentation
#
class PutProjectEventsRequest < Struct.new(
:events,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] event_results
# A structure that contains Evidently's response to the sent events,
# including an event ID and error codes, if any.
# @return [Array<Types::PutProjectEventsResultEntry>]
#
# @!attribute [rw] failed_event_count
# The number of events in the operation that could not be used by
# Evidently.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/PutProjectEventsResponse AWS API Documentation
#
class PutProjectEventsResponse < Struct.new(
:event_results,
:failed_event_count)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains Evidently's response to the sent events,
# including an event ID and error codes, if any.
#
# @!attribute [rw] error_code
# If the `PutProjectEvents` operation has an error, the error code is
# returned here.
# @return [String]
#
# @!attribute [rw] error_message
# If the `PutProjectEvents` operation has an error, the error message
# is returned here.
# @return [String]
#
# @!attribute [rw] event_id
# A unique ID assigned to this `PutProjectEvents` operation.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/PutProjectEventsResultEntry AWS API Documentation
#
class PutProjectEventsResultEntry < Struct.new(
:error_code,
:error_message,
:event_id)
SENSITIVE = []
include Aws::Structure
end
# A structure that contains information about one experiment or launch
# that uses the specified segment.
#
# @!attribute [rw] arn
# The ARN of the experiment or launch.
# @return [String]
#
# @!attribute [rw] end_time
# The day and time that this experiment or launch ended.
# @return [String]
#
# @!attribute [rw] last_updated_on
# The day and time that this experiment or launch was most recently
# updated.
# @return [String]
#
# @!attribute [rw] name
# The name of the experiment or launch.
# @return [String]
#
# @!attribute [rw] start_time
# The day and time that this experiment or launch started.
# @return [String]
#
# @!attribute [rw] status
# The status of the experiment or launch.
# @return [String]
#
# @!attribute [rw] type
# Specifies whether the resource that this structure contains
# information about is an experiment or a launch.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/RefResource AWS API Documentation
#
class RefResource < Struct.new(
:arn,
:end_time,
:last_updated_on,
:name,
:start_time,
:status,
:type)
SENSITIVE = []
include Aws::Structure
end
# The request references a resource that does not exist.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] resource_id
# The ID of the resource that caused the exception.
# @return [String]
#
# @!attribute [rw] resource_type
# The type of the resource that is associated with the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ResourceNotFoundException AWS API Documentation
#
class ResourceNotFoundException < Struct.new(
:message,
:resource_id,
:resource_type)
SENSITIVE = []
include Aws::Structure
end
# If the project stores evaluation events in an Amazon S3 bucket, this
# structure stores the bucket name and bucket prefix.
#
# @!attribute [rw] bucket
# The name of the bucket in which Evidently stores evaluation events.
# @return [String]
#
# @!attribute [rw] prefix
# The bucket prefix in which Evidently stores evaluation events.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/S3Destination AWS API Documentation
#
class S3Destination < Struct.new(
:bucket,
:prefix)
SENSITIVE = []
include Aws::Structure
end
# If the project stores evaluation events in an Amazon S3 bucket, this
# structure stores the bucket name and bucket prefix.
#
# @note When making an API call, you may pass S3DestinationConfig
# data as a hash:
#
# {
# bucket: "S3BucketSafeName",
# prefix: "S3PrefixSafeName",
# }
#
# @!attribute [rw] bucket
# The name of the bucket in which Evidently stores evaluation events.
# @return [String]
#
# @!attribute [rw] prefix
# The bucket prefix in which Evidently stores evaluation events.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/S3DestinationConfig AWS API Documentation
#
class S3DestinationConfig < Struct.new(
:bucket,
:prefix)
SENSITIVE = []
include Aws::Structure
end
# This structure defines the traffic allocation percentages among the
# feature variations during one step of a launch, and the start time of
# that step.
#
# @!attribute [rw] group_weights
# The traffic allocation percentages among the feature variations
# during one step of a launch. This is a set of key-value pairs. The
# keys are variation names. The values represent the percentage of
# traffic to allocate to that variation during this step.
#
# The values is expressed in thousandths of a percent, so assigning a
# weight of 50000 assigns 50% of traffic to that variation.
#
# If the sum of the weights for all the variations in a segment
# override does not add up to 100,000, then the remaining traffic that
# matches this segment is not assigned by this segment override, and
# instead moves on to the next segment override or the default traffic
# split.
# @return [Hash<String,Integer>]
#
# @!attribute [rw] segment_overrides
# Use this parameter to specify different traffic splits for one or
# more audience *segments*. A segment is a portion of your audience
# that share one or more characteristics. Examples could be Chrome
# browser users, users in Europe, or Firefox browser users in Europe
# who also fit other criteria that your application collects, such as
# age.
#
# This parameter is an array of up to six segment override objects.
# Each of these objects specifies a segment that you have already
# created, and defines the traffic split for that segment.
# @return [Array<Types::SegmentOverride>]
#
# @!attribute [rw] start_time
# The date and time that this step of the launch starts.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ScheduledSplit AWS API Documentation
#
class ScheduledSplit < Struct.new(
:group_weights,
:segment_overrides,
:start_time)
SENSITIVE = []
include Aws::Structure
end
# This structure defines the traffic allocation percentages among the
# feature variations during one step of a launch, and the start time of
# that step.
#
# @note When making an API call, you may pass ScheduledSplitConfig
# data as a hash:
#
# {
# group_weights: { # required
# "GroupName" => 1,
# },
# segment_overrides: [
# {
# evaluation_order: 1, # required
# segment: "SegmentRef", # required
# weights: { # required
# "GroupName" => 1,
# },
# },
# ],
# start_time: Time.now, # required
# }
#
# @!attribute [rw] group_weights
# The traffic allocation percentages among the feature variations
# during one step of a launch. This is a set of key-value pairs. The
# keys are variation names. The values represent the percentage of
# traffic to allocate to that variation during this step.
#
# <p>The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.</p> <p>If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.</p>
# @return [Hash<String,Integer>]
#
# @!attribute [rw] segment_overrides
# Use this parameter to specify different traffic splits for one or
# more audience *segments*. A segment is a portion of your audience
# that share one or more characteristics. Examples could be Chrome
# browser users, users in Europe, or Firefox browser users in Europe
# who also fit other criteria that your application collects, such as
# age.
#
# This parameter is an array of up to six segment override objects.
# Each of these objects specifies a segment that you have already
# created, and defines the traffic split for that segment.
# @return [Array<Types::SegmentOverride>]
#
# @!attribute [rw] start_time
# The date and time that this step of the launch starts.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ScheduledSplitConfig AWS API Documentation
#
class ScheduledSplitConfig < Struct.new(
:group_weights,
:segment_overrides,
:start_time)
SENSITIVE = []
include Aws::Structure
end
# An array of structures that define the traffic allocation percentages
# among the feature variations during each step of a launch. This also
# defines the start time of each step.
#
# @note When making an API call, you may pass ScheduledSplitsLaunchConfig
# data as a hash:
#
# {
# steps: [ # required
# {
# group_weights: { # required
# "GroupName" => 1,
# },
# segment_overrides: [
# {
# evaluation_order: 1, # required
# segment: "SegmentRef", # required
# weights: { # required
# "GroupName" => 1,
# },
# },
# ],
# start_time: Time.now, # required
# },
# ],
# }
#
# @!attribute [rw] steps
# An array of structures that define the traffic allocation
# percentages among the feature variations during each step of the
# launch. This also defines the start time of each step.
# @return [Array<Types::ScheduledSplitConfig>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ScheduledSplitsLaunchConfig AWS API Documentation
#
class ScheduledSplitsLaunchConfig < Struct.new(
:steps)
SENSITIVE = []
include Aws::Structure
end
# An array of structures that define the traffic allocation percentages
# among the feature variations during each step of a launch. This also
# defines the start time of each step.
#
# @!attribute [rw] steps
# An array of structures that define the traffic allocation
# percentages among the feature variations during each step of the
# launch. This also defines the start time of each step.
# @return [Array<Types::ScheduledSplit>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ScheduledSplitsLaunchDefinition AWS API Documentation
#
class ScheduledSplitsLaunchDefinition < Struct.new(
:steps)
SENSITIVE = []
include Aws::Structure
end
# This structure contains information about one audience *segment*. You
# can use segments in your experiments and launches to narrow the user
# sessions used for experiment or launch to only the user sessions that
# match one or more criteria.
#
# @!attribute [rw] arn
# The ARN of the segment.
# @return [String]
#
# @!attribute [rw] created_time
# The date and time that this segment was created.
# @return [Time]
#
# @!attribute [rw] description
# The customer-created description for this segment.
# @return [String]
#
# @!attribute [rw] experiment_count
# The number of experiments that this segment is used in. This count
# includes all current experiments, not just those that are currently
# running.
# @return [Integer]
#
# @!attribute [rw] last_updated_time
# The date and time that this segment was most recently updated.
# @return [Time]
#
# @!attribute [rw] launch_count
# The number of launches that this segment is used in. This count
# includes all current launches, not just those that are currently
# running.
# @return [Integer]
#
# @!attribute [rw] name
# The name of the segment.
# @return [String]
#
# @!attribute [rw] pattern
# The pattern that defines the attributes to use to evalute whether a
# user session will be in the segment. For more information about the
# pattern syntax, see [Segment rule pattern syntax][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html
# @return [String]
#
# @!attribute [rw] tags
# The list of tag keys and values associated with this launch.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Segment AWS API Documentation
#
class Segment < Struct.new(
:arn,
:created_time,
:description,
:experiment_count,
:last_updated_time,
:launch_count,
:name,
:pattern,
:tags)
SENSITIVE = []
include Aws::Structure
end
# This structure specifies a segment that you have already created, and
# defines the traffic split for that segment to be used in a launch.
#
# @note When making an API call, you may pass SegmentOverride
# data as a hash:
#
# {
# evaluation_order: 1, # required
# segment: "SegmentRef", # required
# weights: { # required
# "GroupName" => 1,
# },
# }
#
# @!attribute [rw] evaluation_order
# A number indicating the order to use to evaluate segment overrides,
# if there are more than one. Segment overrides with lower numbers are
# evaluated first.
# @return [Integer]
#
# @!attribute [rw] segment
# The ARN of the segment to use.
# @return [String]
#
# @!attribute [rw] weights
# The traffic allocation percentages among the feature variations to
# assign to this segment. This is a set of key-value pairs. The keys
# are variation names. The values represent the amount of traffic to
# allocate to that variation for this segment. This is expressed in
# thousandths of a percent, so a weight of 50000 represents 50% of
# traffic.
# @return [Hash<String,Integer>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/SegmentOverride AWS API Documentation
#
class SegmentOverride < Struct.new(
:evaluation_order,
:segment,
:weights)
SENSITIVE = []
include Aws::Structure
end
# The request would cause a service quota to be exceeded.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] quota_code
# The ID of the service quota that was exceeded.
# @return [String]
#
# @!attribute [rw] resource_id
# The ID of the resource that caused the exception.
# @return [String]
#
# @!attribute [rw] resource_type
# The type of the resource that is associated with the error.
# @return [String]
#
# @!attribute [rw] service_code
# The ID of the service that is associated with the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ServiceQuotaExceededException AWS API Documentation
#
class ServiceQuotaExceededException < Struct.new(
:message,
:quota_code,
:resource_id,
:resource_type,
:service_code)
SENSITIVE = []
include Aws::Structure
end
# The service was unavailable. Retry the request.
#
# @!attribute [rw] message
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ServiceUnavailableException AWS API Documentation
#
class ServiceUnavailableException < Struct.new(
:message)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StartExperimentRequest
# data as a hash:
#
# {
# analysis_complete_time: Time.now, # required
# experiment: "ExperimentName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] analysis_complete_time
# The date and time to end the experiment. This must be no more than
# 30 days after the experiment starts.
# @return [Time]
#
# @!attribute [rw] experiment
# The name of the experiment to start.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment to
# start.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StartExperimentRequest AWS API Documentation
#
class StartExperimentRequest < Struct.new(
:analysis_complete_time,
:experiment,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] started_time
# A timestamp that indicates when the experiment started.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StartExperimentResponse AWS API Documentation
#
class StartExperimentResponse < Struct.new(
:started_time)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StartLaunchRequest
# data as a hash:
#
# {
# launch: "LaunchName", # required
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] launch
# The name of the launch to start.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch to start.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StartLaunchRequest AWS API Documentation
#
class StartLaunchRequest < Struct.new(
:launch,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] launch
# A structure that contains information about the launch that was
# started.
# @return [Types::Launch]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StartLaunchResponse AWS API Documentation
#
class StartLaunchResponse < Struct.new(
:launch)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StopExperimentRequest
# data as a hash:
#
# {
# desired_state: "COMPLETED", # accepts COMPLETED, CANCELLED
# experiment: "ExperimentName", # required
# project: "ProjectRef", # required
# reason: "Description",
# }
#
# @!attribute [rw] desired_state
# Specify whether the experiment is to be considered `COMPLETED` or
# `CANCELLED` after it stops.
# @return [String]
#
# @!attribute [rw] experiment
# The name of the experiment to stop.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment to stop.
# @return [String]
#
# @!attribute [rw] reason
# A string that describes why you are stopping the experiment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StopExperimentRequest AWS API Documentation
#
class StopExperimentRequest < Struct.new(
:desired_state,
:experiment,
:project,
:reason)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] ended_time
# The date and time that the experiment stopped.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StopExperimentResponse AWS API Documentation
#
class StopExperimentResponse < Struct.new(
:ended_time)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass StopLaunchRequest
# data as a hash:
#
# {
# desired_state: "COMPLETED", # accepts COMPLETED, CANCELLED
# launch: "LaunchName", # required
# project: "ProjectRef", # required
# reason: "Description",
# }
#
# @!attribute [rw] desired_state
# Specify whether to consider the launch as `COMPLETED` or `CANCELLED`
# after it stops.
# @return [String]
#
# @!attribute [rw] launch
# The name of the launch to stop.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch that you
# want to stop.
# @return [String]
#
# @!attribute [rw] reason
# A string that describes why you are stopping the launch.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StopLaunchRequest AWS API Documentation
#
class StopLaunchRequest < Struct.new(
:desired_state,
:launch,
:project,
:reason)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] ended_time
# The date and time that the launch stopped.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/StopLaunchResponse AWS API Documentation
#
class StopLaunchResponse < Struct.new(
:ended_time)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass TagResourceRequest
# data as a hash:
#
# {
# resource_arn: "Arn", # required
# tags: { # required
# "TagKey" => "TagValue",
# },
# }
#
# @!attribute [rw] resource_arn
# The ARN of the CloudWatch Evidently resource that you're adding
# tags to.
# @return [String]
#
# @!attribute [rw] tags
# The list of key-value pairs to associate with the resource.
# @return [Hash<String,String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TagResourceRequest AWS API Documentation
#
class TagResourceRequest < Struct.new(
:resource_arn,
:tags)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TagResourceResponse AWS API Documentation
#
class TagResourceResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass TestSegmentPatternRequest
# data as a hash:
#
# {
# pattern: "SegmentPattern", # required
# payload: "JsonValue", # required
# }
#
# @!attribute [rw] pattern
# The pattern to test.
# @return [String]
#
# @!attribute [rw] payload
# A sample `evaluationContext` JSON block to test against the
# specified pattern.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPatternRequest AWS API Documentation
#
class TestSegmentPatternRequest < Struct.new(
:pattern,
:payload)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] match
# Returns `true` if the pattern matches the payload.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPatternResponse AWS API Documentation
#
class TestSegmentPatternResponse < Struct.new(
:match)
SENSITIVE = []
include Aws::Structure
end
# The request was denied because of request throttling. Retry the
# request.
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] quota_code
# The ID of the service quota that was exceeded.
# @return [String]
#
# @!attribute [rw] service_code
# The ID of the service that is associated with the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ThrottlingException AWS API Documentation
#
class ThrottlingException < Struct.new(
:message,
:quota_code,
:service_code)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines one treatment in an experiment. A treatment
# is a variation of the feature that you are including in the
# experiment.
#
# @!attribute [rw] description
# The description of the treatment.
# @return [String]
#
# @!attribute [rw] feature_variations
# The feature variation used for this treatment. This is a key-value
# pair. The key is the feature name, and the value is the variation
# name.
# @return [Hash<String,String>]
#
# @!attribute [rw] name
# The name of this treatment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Treatment AWS API Documentation
#
class Treatment < Struct.new(
:description,
:feature_variations,
:name)
SENSITIVE = []
include Aws::Structure
end
# A structure that defines one treatment in an experiment. A treatment
# is a variation of the feature that you are including in the
# experiment.
#
# @note When making an API call, you may pass TreatmentConfig
# data as a hash:
#
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "TreatmentName", # required
# variation: "VariationName", # required
# }
#
# @!attribute [rw] description
# A description for this treatment.
# @return [String]
#
# @!attribute [rw] feature
# The feature that this experiment is testing.
# @return [String]
#
# @!attribute [rw] name
# A name for this treatment.
# @return [String]
#
# @!attribute [rw] variation
# The name of the variation to use as this treatment in the
# experiment.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TreatmentConfig AWS API Documentation
#
class TreatmentConfig < Struct.new(
:description,
:feature,
:name,
:variation)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UntagResourceRequest
# data as a hash:
#
# {
# resource_arn: "Arn", # required
# tag_keys: ["TagKey"], # required
# }
#
# @!attribute [rw] resource_arn
# The ARN of the CloudWatch Evidently resource that you're removing
# tags from.
# @return [String]
#
# @!attribute [rw] tag_keys
# The list of tag keys to remove from the resource.
# @return [Array<String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UntagResourceRequest AWS API Documentation
#
class UntagResourceRequest < Struct.new(
:resource_arn,
:tag_keys)
SENSITIVE = []
include Aws::Structure
end
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UntagResourceResponse AWS API Documentation
#
class UntagResourceResponse < Aws::EmptyStructure; end
# @note When making an API call, you may pass UpdateExperimentRequest
# data as a hash:
#
# {
# description: "Description",
# experiment: "ExperimentName", # required
# metric_goals: [
# {
# desired_change: "INCREASE", # accepts INCREASE, DECREASE
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# },
# ],
# online_ab_config: {
# control_treatment_name: "TreatmentName",
# treatment_weights: {
# "TreatmentName" => 1,
# },
# },
# project: "ProjectRef", # required
# randomization_salt: "RandomizationSalt",
# remove_segment: false,
# sampling_rate: 1,
# segment: "SegmentRef",
# treatments: [
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "TreatmentName", # required
# variation: "VariationName", # required
# },
# ],
# }
#
# @!attribute [rw] description
# An optional description of the experiment.
# @return [String]
#
# @!attribute [rw] experiment
# The name of the experiment to update.
# @return [String]
#
# @!attribute [rw] metric_goals
# An array of structures that defines the metrics used for the
# experiment, and whether a higher or lower value for each metric is
# the goal.
# @return [Array<Types::MetricGoalConfig>]
#
# @!attribute [rw] online_ab_config
# A 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.
# @return [Types::OnlineAbConfig]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the experiment that you
# want to update.
# @return [String]
#
# @!attribute [rw] randomization_salt
# When 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 omit `randomizationSalt`,
# Evidently uses the experiment name as the `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] remove_segment
# Removes a segment from being used in an experiment. You can't use
# this parameter if the experiment is currently running.
# @return [Boolean]
#
# @!attribute [rw] sampling_rate
# The 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.
# @return [Integer]
#
# @!attribute [rw] segment
# Adds 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.
# @return [String]
#
# @!attribute [rw] treatments
# An array of structures that define the variations being tested in
# the experiment.
# @return [Array<Types::TreatmentConfig>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateExperimentRequest AWS API Documentation
#
class UpdateExperimentRequest < Struct.new(
:description,
:experiment,
:metric_goals,
:online_ab_config,
:project,
:randomization_salt,
:remove_segment,
:sampling_rate,
:segment,
:treatments)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] experiment
# A structure containing the configuration details of the experiment
# that was updated.
# @return [Types::Experiment]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateExperimentResponse AWS API Documentation
#
class UpdateExperimentResponse < Struct.new(
:experiment)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateFeatureRequest
# data as a hash:
#
# {
# add_or_update_variations: [
# {
# name: "VariationName", # required
# value: { # required
# bool_value: false,
# double_value: 1.0,
# long_value: 1,
# string_value: "VariableValueStringValueString",
# },
# },
# ],
# default_variation: "VariationName",
# description: "Description",
# entity_overrides: {
# "EntityId" => "VariationName",
# },
# evaluation_strategy: "ALL_RULES", # accepts ALL_RULES, DEFAULT_VARIATION
# feature: "FeatureName", # required
# project: "ProjectRef", # required
# remove_variations: ["VariationName"],
# }
#
# @!attribute [rw] add_or_update_variations
# To 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.
# @return [Array<Types::VariationConfig>]
#
# @!attribute [rw] default_variation
# The 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.
# @return [String]
#
# @!attribute [rw] description
# An optional description of the feature.
# @return [String]
#
# @!attribute [rw] entity_overrides
# Specified 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.
# @return [Hash<String,String>]
#
# @!attribute [rw] evaluation_strategy
# Specify `ALL_RULES` to activate the traffic allocation specified by
# any ongoing launches or experiments. Specify `DEFAULT_VARIATION` to
# serve the default variation to all users instead.
# @return [String]
#
# @!attribute [rw] feature
# The name of the feature to be updated.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the feature to be
# updated.
# @return [String]
#
# @!attribute [rw] remove_variations
# Removes 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.
# @return [Array<String>]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateFeatureRequest AWS API Documentation
#
class UpdateFeatureRequest < Struct.new(
:add_or_update_variations,
:default_variation,
:description,
:entity_overrides,
:evaluation_strategy,
:feature,
:project,
:remove_variations)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] feature
# A structure that contains information about the updated feature.
# @return [Types::Feature]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateFeatureResponse AWS API Documentation
#
class UpdateFeatureResponse < Struct.new(
:feature)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateLaunchRequest
# data as a hash:
#
# {
# description: "Description",
# groups: [
# {
# description: "Description",
# feature: "FeatureName", # required
# name: "GroupName", # required
# variation: "VariationName", # required
# },
# ],
# launch: "LaunchName", # required
# metric_monitors: [
# {
# metric_definition: { # required
# entity_id_key: "JsonPath", # required
# event_pattern: "MetricDefinitionConfigEventPatternString",
# name: "CwDimensionSafeName", # required
# unit_label: "MetricUnitLabel",
# value_key: "JsonPath", # required
# },
# },
# ],
# project: "ProjectRef", # required
# randomization_salt: "RandomizationSalt",
# scheduled_splits_config: {
# steps: [ # required
# {
# group_weights: { # required
# "GroupName" => 1,
# },
# segment_overrides: [
# {
# evaluation_order: 1, # required
# segment: "SegmentRef", # required
# weights: { # required
# "GroupName" => 1,
# },
# },
# ],
# start_time: Time.now, # required
# },
# ],
# },
# }
#
# @!attribute [rw] description
# An optional description for the launch.
# @return [String]
#
# @!attribute [rw] groups
# An array of structures that contains the feature and variations that
# are to be used for the launch.
# @return [Array<Types::LaunchGroupConfig>]
#
# @!attribute [rw] launch
# The name of the launch that is to be updated.
# @return [String]
#
# @!attribute [rw] metric_monitors
# An array of structures that define the metrics that will be used to
# monitor the launch performance.
# @return [Array<Types::MetricMonitorConfig>]
#
# @!attribute [rw] project
# The name or ARN of the project that contains the launch that you
# want to update.
# @return [String]
#
# @!attribute [rw] randomization_salt
# When 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 omit `randomizationSalt`,
# Evidently uses the launch name as the `randomizationSalt`.
# @return [String]
#
# @!attribute [rw] scheduled_splits_config
# An array of structures that define the traffic allocation
# percentages among the feature variations during each step of the
# launch.
# @return [Types::ScheduledSplitsLaunchConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateLaunchRequest AWS API Documentation
#
class UpdateLaunchRequest < Struct.new(
:description,
:groups,
:launch,
:metric_monitors,
:project,
:randomization_salt,
:scheduled_splits_config)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] launch
# A structure that contains the new configuration of the launch that
# was updated.
# @return [Types::Launch]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateLaunchResponse AWS API Documentation
#
class UpdateLaunchResponse < Struct.new(
:launch)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateProjectDataDeliveryRequest
# data as a hash:
#
# {
# cloud_watch_logs: {
# log_group: "CwLogGroupSafeName",
# },
# project: "ProjectRef", # required
# s3_destination: {
# bucket: "S3BucketSafeName",
# prefix: "S3PrefixSafeName",
# },
# }
#
# @!attribute [rw] cloud_watch_logs
# A structure containing the CloudWatch Logs log group where you want
# to store evaluation events.
# @return [Types::CloudWatchLogsDestinationConfig]
#
# @!attribute [rw] project
# The name or ARN of the project that you want to modify the data
# storage options for.
# @return [String]
#
# @!attribute [rw] s3_destination
# A structure containing the S3 bucket name and bucket prefix where
# you want to store evaluation events.
# @return [Types::S3DestinationConfig]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateProjectDataDeliveryRequest AWS API Documentation
#
class UpdateProjectDataDeliveryRequest < Struct.new(
:cloud_watch_logs,
:project,
:s3_destination)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] project
# A structure containing details about the project that you updated.
# @return [Types::Project]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateProjectDataDeliveryResponse AWS API Documentation
#
class UpdateProjectDataDeliveryResponse < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# @note When making an API call, you may pass UpdateProjectRequest
# data as a hash:
#
# {
# app_config_resource: {
# application_id: "AppConfigResourceId",
# environment_id: "AppConfigResourceId",
# },
# description: "Description",
# project: "ProjectRef", # required
# }
#
# @!attribute [rw] app_config_resource
# Use 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][1] 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.
#
#
#
# [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
# @return [Types::ProjectAppConfigResourceConfig]
#
# @!attribute [rw] description
# An optional description of the project.
# @return [String]
#
# @!attribute [rw] project
# The name or ARN of the project to update.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateProjectRequest AWS API Documentation
#
class UpdateProjectRequest < Struct.new(
:app_config_resource,
:description,
:project)
SENSITIVE = []
include Aws::Structure
end
# @!attribute [rw] project
# A structure containing information about the updated project.
# @return [Types::Project]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateProjectResponse AWS API Documentation
#
class UpdateProjectResponse < Struct.new(
:project)
SENSITIVE = []
include Aws::Structure
end
# The value of a parameter in the request caused an error.
#
# @!attribute [rw] field_list
# The parameter that caused the exception.
# @return [Array<Types::ValidationExceptionField>]
#
# @!attribute [rw] message
# @return [String]
#
# @!attribute [rw] reason
# A reason for the error.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ValidationException AWS API Documentation
#
class ValidationException < Struct.new(
:field_list,
:message,
:reason)
SENSITIVE = []
include Aws::Structure
end
# A structure containing an error name and message.
#
# @!attribute [rw] message
# The error message.
# @return [String]
#
# @!attribute [rw] name
# The error name.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ValidationExceptionField AWS API Documentation
#
class ValidationExceptionField < Struct.new(
:message,
:name)
SENSITIVE = []
include Aws::Structure
end
# The value assigned to a feature variation. This structure must contain
# exactly one field. It can be `boolValue`, `doubleValue`, `longValue`,
# or `stringValue`.
#
# @note VariableValue is a union - when making an API calls you must set exactly one of the members.
#
# @note VariableValue is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VariableValue corresponding to the set member.
#
# @!attribute [rw] bool_value
# If this feature uses the Boolean variation type, this field contains
# the Boolean value of this variation.
# @return [Boolean]
#
# @!attribute [rw] double_value
# If this feature uses the double integer variation type, this field
# contains the double integer value of this variation.
# @return [Float]
#
# @!attribute [rw] long_value
# If this feature uses the long variation type, this field contains
# the long value of this variation.
# @return [Integer]
#
# @!attribute [rw] string_value
# If this feature uses the string variation type, this field contains
# the string value of this variation.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/VariableValue AWS API Documentation
#
class VariableValue < Struct.new(
:bool_value,
:double_value,
:long_value,
:string_value,
:unknown)
SENSITIVE = []
include Aws::Structure
include Aws::Structure::Union
class BoolValue < VariableValue; end
class DoubleValue < VariableValue; end
class LongValue < VariableValue; end
class StringValue < VariableValue; end
class Unknown < VariableValue; end
end
# This structure contains the name and variation value of one variation
# of a feature.
#
# @!attribute [rw] name
# The name of the variation.
# @return [String]
#
# @!attribute [rw] value
# The value assigned to this variation.
# @return [Types::VariableValue]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Variation AWS API Documentation
#
class Variation < Struct.new(
:name,
:value)
SENSITIVE = []
include Aws::Structure
end
# This structure contains the name and variation value of one variation
# of a feature.
#
# @note When making an API call, you may pass VariationConfig
# data as a hash:
#
# {
# name: "VariationName", # required
# value: { # required
# bool_value: false,
# double_value: 1.0,
# long_value: 1,
# string_value: "VariableValueStringValueString",
# },
# }
#
# @!attribute [rw] name
# The name of the variation.
# @return [String]
#
# @!attribute [rw] value
# The value assigned to this variation.
# @return [Types::VariableValue]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/VariationConfig AWS API Documentation
#
class VariationConfig < Struct.new(
:name,
:value)
SENSITIVE = []
include Aws::Structure
end
end
end