aws_sdk_computeoptimizerautomation/client/
update_automation_rule.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`UpdateAutomationRule`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`rule_arn(impl Into<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::rule_arn) / [`set_rule_arn(Option<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_rule_arn):<br>required: **true**<br><p>The ARN of the rule to update.</p><br>
7    ///   - [`rule_revision(i64)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::rule_revision) / [`set_rule_revision(Option<i64>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_rule_revision):<br>required: **true**<br><p>The revision number of the rule to update.</p><br>
8    ///   - [`name(impl Into<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_name):<br>required: **false**<br><p>The updated name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.</p><br>
9    ///   - [`description(impl Into<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_description):<br>required: **false**<br><p>The updated description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.</p><br>
10    ///   - [`rule_type(RuleType)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::rule_type) / [`set_rule_type(Option<RuleType>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_rule_type):<br>required: **false**<br><p>The updated type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.</p><br>
11    ///   - [`organization_configuration(OrganizationConfiguration)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::organization_configuration) / [`set_organization_configuration(Option<OrganizationConfiguration>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_organization_configuration):<br>required: **false**<br><p>Updated configuration settings for organization-wide rules, including rule application order and target account IDs.</p><br>
12    ///   - [`priority(impl Into<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::priority) / [`set_priority(Option<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_priority):<br>required: **false**<br><p>The updated priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.</p><br>
13    ///   - [`recommended_action_types(RecommendedActionType)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::recommended_action_types) / [`set_recommended_action_types(Option<Vec::<RecommendedActionType>>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_recommended_action_types):<br>required: **false**<br><p>Updated list of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.</p><br>
14    ///   - [`criteria(Criteria)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::criteria) / [`set_criteria(Option<Criteria>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_criteria):<br>required: **false**<br><p>A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition.</p><br>
15    ///   - [`schedule(Schedule)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::schedule) / [`set_schedule(Option<Schedule>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_schedule):<br>required: **false**<br><p>The updated schedule configuration for when the automation rule should execute, including cron expression, timezone, and execution window.</p><br>
16    ///   - [`status(RuleStatus)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::status) / [`set_status(Option<RuleStatus>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_status):<br>required: **false**<br><p>The updated status of the automation rule. Can be Active or Inactive.</p><br>
17    ///   - [`client_token(impl Into<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.</p><br>
18    /// - On success, responds with [`UpdateAutomationRuleOutput`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput) with field(s):
19    ///   - [`rule_arn(Option<String>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::rule_arn): <p>The ARN of the updated rule.</p>
20    ///   - [`rule_revision(Option<i64>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::rule_revision): <p>The new revision number of the updated rule.</p>
21    ///   - [`name(Option<String>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::name): <p>The updated name of the automation rule.</p>
22    ///   - [`description(Option<String>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::description): <p>The updated description of the automation rule.</p>
23    ///   - [`rule_type(Option<RuleType>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::rule_type): <p>The updated type of automation rule.</p>
24    ///   - [`organization_configuration(Option<OrganizationConfiguration>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::organization_configuration): <p>The updated organization configuration settings.</p>
25    ///   - [`priority(Option<String>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::priority): <p>The updated priority level of the automation rule.</p>
26    ///   - [`recommended_action_types(Option<Vec::<RecommendedActionType>>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::recommended_action_types): <p>The updated list of recommended action types.</p>
27    ///   - [`criteria(Option<Criteria>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::criteria): <p>A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition.</p>
28    ///   - [`schedule(Option<Schedule>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::schedule): <p>The updated schedule configuration.</p>
29    ///   - [`status(Option<RuleStatus>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::status): <p>The updated status of the automation rule.</p>
30    ///   - [`created_timestamp(Option<DateTime>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::created_timestamp): <p>The timestamp when the automation rule was originally created.</p>
31    ///   - [`last_updated_timestamp(Option<DateTime>)`](crate::operation::update_automation_rule::UpdateAutomationRuleOutput::last_updated_timestamp): <p>The timestamp when the automation rule was last updated.</p>
32    /// - On failure, responds with [`SdkError<UpdateAutomationRuleError>`](crate::operation::update_automation_rule::UpdateAutomationRuleError)
33    pub fn update_automation_rule(&self) -> crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder {
34        crate::operation::update_automation_rule::builders::UpdateAutomationRuleFluentBuilder::new(self.handle.clone())
35    }
36}