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}