// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateRule`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`rule_id(impl Into<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::rule_id) / [`set_rule_id(Option<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_rule_id):<br>required: **true**<br><p>A unique identifier for the rule.</p><br>
/// - [`instance_id(impl Into<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_instance_id):<br>required: **true**<br><p>The identifier of the Connect Customer instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_name):<br>required: **true**<br><p>The name of the rule. You can change the name only if <code>TriggerEventSource</code> is one of the following values: <code>OnZendeskTicketCreate</code> | <code>OnZendeskTicketStatusUpdate</code> | <code>OnSalesforceCaseCreate</code></p><br>
/// - [`function(impl Into<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::function) / [`set_function(Option<String>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_function):<br>required: **true**<br><p>The conditions of the rule.</p><br>
/// - [`actions(RuleAction)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::actions) / [`set_actions(Option<Vec::<RuleAction>>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_actions):<br>required: **true**<br><p>A list of actions to be run when the rule is triggered.</p><br>
/// - [`publish_status(RulePublishStatus)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::publish_status) / [`set_publish_status(Option<RulePublishStatus>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_publish_status):<br>required: **true**<br><p>The publish status of the rule.</p><br>
/// - [`pre_evaluation_filters(PreEvaluationFilters)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::pre_evaluation_filters) / [`set_pre_evaluation_filters(Option<PreEvaluationFilters>)`](crate::operation::update_rule::builders::UpdateRuleFluentBuilder::set_pre_evaluation_filters):<br>required: **false**<br><p>The pre-evaluation filters for the rule, that restrict the rule to be applied to only certain resources based on the resource's attributes, such as tags assigned to a contact. The pre-evaluation filters are applied even before rule conditions are evaluated and are used to enforce tag-based-access-control while applying rules.</p><br>
/// - On success, responds with [`UpdateRuleOutput`](crate::operation::update_rule::UpdateRuleOutput)
/// - On failure, responds with [`SdkError<UpdateRuleError>`](crate::operation::update_rule::UpdateRuleError)
pub fn update_rule(&self) -> crate::operation::update_rule::builders::UpdateRuleFluentBuilder {
crate::operation::update_rule::builders::UpdateRuleFluentBuilder::new(self.handle.clone())
}
}