1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateFeature`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`project(impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::project) / [`set_project(Option<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_project):<br>required: **true**<br><p>The name or ARN of the project that contains the feature to be updated.</p><br>
    ///   - [`feature(impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::feature) / [`set_feature(Option<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_feature):<br>required: **true**<br><p>The name of the feature to be updated.</p><br>
    ///   - [`evaluation_strategy(FeatureEvaluationStrategy)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::evaluation_strategy) / [`set_evaluation_strategy(Option<FeatureEvaluationStrategy>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_evaluation_strategy):<br>required: **false**<br><p>Specify <code>ALL_RULES</code> to activate the traffic allocation specified by any ongoing launches or experiments. Specify <code>DEFAULT_VARIATION</code> to serve the default variation to all users instead.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_description):<br>required: **false**<br><p>An optional description of the feature.</p><br>
    ///   - [`add_or_update_variations(VariationConfig)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::add_or_update_variations) / [`set_add_or_update_variations(Option<Vec::<VariationConfig>>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_add_or_update_variations):<br>required: **false**<br><p>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.</p><br>
    ///   - [`remove_variations(impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::remove_variations) / [`set_remove_variations(Option<Vec::<String>>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_remove_variations):<br>required: **false**<br><p>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.</p> <p>This operation fails if you try to remove a variation that is part of an ongoing launch or experiment.</p><br>
    ///   - [`default_variation(impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::default_variation) / [`set_default_variation(Option<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_default_variation):<br>required: **false**<br><p>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.</p><br>
    ///   - [`entity_overrides(impl Into<String>, impl Into<String>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::entity_overrides) / [`set_entity_overrides(Option<HashMap::<String, String>>)`](crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::set_entity_overrides):<br>required: **false**<br><p>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.</p> <p>This parameter is limited to 2500 overrides or a total of 40KB. The 40KB limit includes an overhead of 6 bytes per override.</p><br>
    /// - On success, responds with [`UpdateFeatureOutput`](crate::operation::update_feature::UpdateFeatureOutput) with field(s):
    ///   - [`feature(Option<Feature>)`](crate::operation::update_feature::UpdateFeatureOutput::feature): <p>A structure that contains information about the updated feature.</p>
    /// - On failure, responds with [`SdkError<UpdateFeatureError>`](crate::operation::update_feature::UpdateFeatureError)
    pub fn update_feature(&self) -> crate::operation::update_feature::builders::UpdateFeatureFluentBuilder {
        crate::operation::update_feature::builders::UpdateFeatureFluentBuilder::new(self.handle.clone())
    }
}