// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateBudgetAction`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`account_id(impl Into<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::account_id) / [`set_account_id(Option<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_account_id):<br>required: **true**<br><p>The account ID of the user. It's a 12-digit number.</p><br>
/// - [`budget_name(impl Into<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::budget_name) / [`set_budget_name(Option<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_budget_name):<br>required: **true**<br><p>A string that represents the budget name. The ":" and "\" characters, and the "/action/" substring, aren't allowed.</p><br>
/// - [`notification_type(NotificationType)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::notification_type) / [`set_notification_type(Option<NotificationType>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_notification_type):<br>required: **true**<br><p>The type of a notification. It must be ACTUAL or FORECASTED.</p><br>
/// - [`action_type(ActionType)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::action_type) / [`set_action_type(Option<ActionType>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_action_type):<br>required: **true**<br><p>The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.</p><br>
/// - [`action_threshold(ActionThreshold)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::action_threshold) / [`set_action_threshold(Option<ActionThreshold>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_action_threshold):<br>required: **true**<br><p>The trigger threshold of the action.</p><br>
/// - [`definition(Definition)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::definition) / [`set_definition(Option<Definition>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_definition):<br>required: **true**<br><p>Specifies all of the type-specific parameters.</p><br>
/// - [`execution_role_arn(impl Into<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_execution_role_arn):<br>required: **true**<br><p>The role passed for action execution and reversion. Roles and actions must be in the same account.</p><br>
/// - [`approval_model(ApprovalModel)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::approval_model) / [`set_approval_model(Option<ApprovalModel>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_approval_model):<br>required: **true**<br><p>This specifies if the action needs manual or automatic approval.</p><br>
/// - [`subscribers(Subscriber)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::subscribers) / [`set_subscribers(Option<Vec::<Subscriber>>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_subscribers):<br>required: **true**<br><p>A list of subscribers.</p><br>
/// - [`resource_tags(ResourceTag)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::resource_tags) / [`set_resource_tags(Option<Vec::<ResourceTag>>)`](crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::set_resource_tags):<br>required: **false**<br><p>An optional list of tags to associate with the specified budget action. Each tag consists of a key and a value, and each key must be unique for the resource.</p><br>
/// - On success, responds with [`CreateBudgetActionOutput`](crate::operation::create_budget_action::CreateBudgetActionOutput) with field(s):
/// - [`account_id(String)`](crate::operation::create_budget_action::CreateBudgetActionOutput::account_id): <p>The account ID of the user. It's a 12-digit number.</p>
/// - [`budget_name(String)`](crate::operation::create_budget_action::CreateBudgetActionOutput::budget_name): <p>A string that represents the budget name. The ":" and "\" characters, and the "/action/" substring, aren't allowed.</p>
/// - [`action_id(String)`](crate::operation::create_budget_action::CreateBudgetActionOutput::action_id): <p>A system-generated universally unique identifier (UUID) for the action.</p>
/// - On failure, responds with [`SdkError<CreateBudgetActionError>`](crate::operation::create_budget_action::CreateBudgetActionError)
pub fn create_budget_action(&self) -> crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder {
crate::operation::create_budget_action::builders::CreateBudgetActionFluentBuilder::new(self.handle.clone())
}
}