# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: budgets
using AWS.Compat
using AWS.UUIDs

"""
    create_budget(account_id, budget)
    create_budget(account_id, budget, params::Dict{String,<:Any})

Creates a budget and, if included, notifications and subscribers.   Only one of BudgetLimit
or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that
matches your case. The Request Syntax section shows the BudgetLimit syntax. For
PlannedBudgetLimits, see the Examples section.

# Arguments
- `account_id`: The accountId that is associated with the budget.
- `budget`: The budget object that you want to create.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"NotificationsWithSubscribers"`: A notification that you want to associate with a
  budget. A budget can have up to five notifications, and each notification can have one SNS
  subscriber and up to 10 email subscribers. If you include notifications and subscribers in
  your CreateBudget call, AWS creates the notifications and subscribers for you.
"""
create_budget(AccountId, Budget; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateBudget", Dict{String, Any}("AccountId"=>AccountId, "Budget"=>Budget); aws_config=aws_config)
create_budget(AccountId, Budget, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "Budget"=>Budget), params)); aws_config=aws_config)

"""
    create_budget_action(account_id, action_threshold, action_type, approval_model, budget_name, definition, execution_role_arn, notification_type, subscribers)
    create_budget_action(account_id, action_threshold, action_type, approval_model, budget_name, definition, execution_role_arn, notification_type, subscribers, params::Dict{String,<:Any})

 Creates a budget action.

# Arguments
- `account_id`:
- `action_threshold`:
- `action_type`:  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.
- `approval_model`:  This specifies if the action needs manual or automatic approval.
- `budget_name`:
- `definition`:
- `execution_role_arn`:  The role passed for action execution and reversion. Roles and
  actions must be in the same account.
- `notification_type`:
- `subscribers`:

"""
create_budget_action(AccountId, ActionThreshold, ActionType, ApprovalModel, BudgetName, Definition, ExecutionRoleArn, NotificationType, Subscribers; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateBudgetAction", Dict{String, Any}("AccountId"=>AccountId, "ActionThreshold"=>ActionThreshold, "ActionType"=>ActionType, "ApprovalModel"=>ApprovalModel, "BudgetName"=>BudgetName, "Definition"=>Definition, "ExecutionRoleArn"=>ExecutionRoleArn, "NotificationType"=>NotificationType, "Subscribers"=>Subscribers); aws_config=aws_config)
create_budget_action(AccountId, ActionThreshold, ActionType, ApprovalModel, BudgetName, Definition, ExecutionRoleArn, NotificationType, Subscribers, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateBudgetAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionThreshold"=>ActionThreshold, "ActionType"=>ActionType, "ApprovalModel"=>ApprovalModel, "BudgetName"=>BudgetName, "Definition"=>Definition, "ExecutionRoleArn"=>ExecutionRoleArn, "NotificationType"=>NotificationType, "Subscribers"=>Subscribers), params)); aws_config=aws_config)

"""
    create_notification(account_id, budget_name, notification, subscribers)
    create_notification(account_id, budget_name, notification, subscribers, params::Dict{String,<:Any})

Creates a notification. You must create the budget before you create the associated
notification.

# Arguments
- `account_id`: The accountId that is associated with the budget that you want to create a
  notification for.
- `budget_name`: The name of the budget that you want AWS to notify you about. Budget names
  must be unique within an account.
- `notification`: The notification that you want to create.
- `subscribers`: A list of subscribers that you want to associate with the notification.
  Each notification can have one SNS subscriber and up to 10 email subscribers.

"""
create_notification(AccountId, BudgetName, Notification, Subscribers; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateNotification", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscribers"=>Subscribers); aws_config=aws_config)
create_notification(AccountId, BudgetName, Notification, Subscribers, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateNotification", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscribers"=>Subscribers), params)); aws_config=aws_config)

"""
    create_subscriber(account_id, budget_name, notification, subscriber)
    create_subscriber(account_id, budget_name, notification, subscriber, params::Dict{String,<:Any})

Creates a subscriber. You must create the associated budget and notification before you
create the subscriber.

# Arguments
- `account_id`: The accountId that is associated with the budget that you want to create a
  subscriber for.
- `budget_name`: The name of the budget that you want to subscribe to. Budget names must be
  unique within an account.
- `notification`: The notification that you want to create a subscriber for.
- `subscriber`: The subscriber that you want to associate with a budget notification.

"""
create_subscriber(AccountId, BudgetName, Notification, Subscriber; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateSubscriber", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscriber"=>Subscriber); aws_config=aws_config)
create_subscriber(AccountId, BudgetName, Notification, Subscriber, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("CreateSubscriber", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscriber"=>Subscriber), params)); aws_config=aws_config)

"""
    delete_budget(account_id, budget_name)
    delete_budget(account_id, budget_name, params::Dict{String,<:Any})

Deletes a budget. You can delete your budget at any time.  Deleting a budget also deletes
the notifications and subscribers that are associated with that budget.

# Arguments
- `account_id`: The accountId that is associated with the budget that you want to delete.
- `budget_name`: The name of the budget that you want to delete.

"""
delete_budget(AccountId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteBudget", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName); aws_config=aws_config)
delete_budget(AccountId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    delete_budget_action(account_id, action_id, budget_name)
    delete_budget_action(account_id, action_id, budget_name, params::Dict{String,<:Any})

 Deletes a budget action.

# Arguments
- `account_id`:
- `action_id`:  A system-generated universally unique identifier (UUID) for the action.
- `budget_name`:

"""
delete_budget_action(AccountId, ActionId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteBudgetAction", Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName); aws_config=aws_config)
delete_budget_action(AccountId, ActionId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteBudgetAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    delete_notification(account_id, budget_name, notification)
    delete_notification(account_id, budget_name, notification, params::Dict{String,<:Any})

Deletes a notification.  Deleting a notification also deletes the subscribers that are
associated with the notification.

# Arguments
- `account_id`: The accountId that is associated with the budget whose notification you
  want to delete.
- `budget_name`: The name of the budget whose notification you want to delete.
- `notification`: The notification that you want to delete.

"""
delete_notification(AccountId, BudgetName, Notification; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteNotification", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification); aws_config=aws_config)
delete_notification(AccountId, BudgetName, Notification, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteNotification", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification), params)); aws_config=aws_config)

"""
    delete_subscriber(account_id, budget_name, notification, subscriber)
    delete_subscriber(account_id, budget_name, notification, subscriber, params::Dict{String,<:Any})

Deletes a subscriber.  Deleting the last subscriber to a notification also deletes the
notification.

# Arguments
- `account_id`: The accountId that is associated with the budget whose subscriber you want
  to delete.
- `budget_name`: The name of the budget whose subscriber you want to delete.
- `notification`: The notification whose subscriber you want to delete.
- `subscriber`: The subscriber that you want to delete.

"""
delete_subscriber(AccountId, BudgetName, Notification, Subscriber; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteSubscriber", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscriber"=>Subscriber); aws_config=aws_config)
delete_subscriber(AccountId, BudgetName, Notification, Subscriber, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DeleteSubscriber", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification, "Subscriber"=>Subscriber), params)); aws_config=aws_config)

"""
    describe_budget(account_id, budget_name)
    describe_budget(account_id, budget_name, params::Dict{String,<:Any})

Describes a budget.  The Request Syntax section shows the BudgetLimit syntax. For
PlannedBudgetLimits, see the Examples section.

# Arguments
- `account_id`: The accountId that is associated with the budget that you want a
  description of.
- `budget_name`: The name of the budget that you want a description of.

"""
describe_budget(AccountId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudget", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_budget(AccountId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_budget_action(account_id, action_id, budget_name)
    describe_budget_action(account_id, action_id, budget_name, params::Dict{String,<:Any})

 Describes a budget action detail.

# Arguments
- `account_id`:
- `action_id`:  A system-generated universally unique identifier (UUID) for the action.
- `budget_name`:

"""
describe_budget_action(AccountId, ActionId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetAction", Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_budget_action(AccountId, ActionId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_budget_action_histories(account_id, action_id, budget_name)
    describe_budget_action_histories(account_id, action_id, budget_name, params::Dict{String,<:Any})

 Describes a budget action history detail.

# Arguments
- `account_id`:
- `action_id`:  A system-generated universally unique identifier (UUID) for the action.
- `budget_name`:

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`:
- `"NextToken"`:
- `"TimePeriod"`:
"""
describe_budget_action_histories(AccountId, ActionId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionHistories", Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_budget_action_histories(AccountId, ActionId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionHistories", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_budget_actions_for_account(account_id)
    describe_budget_actions_for_account(account_id, params::Dict{String,<:Any})

 Describes all of the budget actions for an account.

# Arguments
- `account_id`:

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`:
- `"NextToken"`:
"""
describe_budget_actions_for_account(AccountId; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionsForAccount", Dict{String, Any}("AccountId"=>AccountId); aws_config=aws_config)
describe_budget_actions_for_account(AccountId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionsForAccount", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId), params)); aws_config=aws_config)

"""
    describe_budget_actions_for_budget(account_id, budget_name)
    describe_budget_actions_for_budget(account_id, budget_name, params::Dict{String,<:Any})

 Describes all of the budget actions for a budget.

# Arguments
- `account_id`:
- `budget_name`:

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`:
- `"NextToken"`:
"""
describe_budget_actions_for_budget(AccountId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionsForBudget", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_budget_actions_for_budget(AccountId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetActionsForBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_budget_performance_history(account_id, budget_name)
    describe_budget_performance_history(account_id, budget_name, params::Dict{String,<:Any})

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't
available for ANNUAL budgets.

# Arguments
- `account_id`:
- `budget_name`:

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`:
- `"NextToken"`:
- `"TimePeriod"`: Retrieves how often the budget went into an ALARM state for the specified
  time period.
"""
describe_budget_performance_history(AccountId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetPerformanceHistory", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_budget_performance_history(AccountId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgetPerformanceHistory", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_budgets(account_id)
    describe_budgets(account_id, params::Dict{String,<:Any})

Lists the budgets that are associated with an account.  The Request Syntax section shows
the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

# Arguments
- `account_id`: The accountId that is associated with the budgets that you want
  descriptions of.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: An optional integer that represents how many entries a paginated response
  contains. The maximum is 100.
- `"NextToken"`: The pagination token that you include in your request to indicate the next
  set of results that you want to retrieve.
"""
describe_budgets(AccountId; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgets", Dict{String, Any}("AccountId"=>AccountId); aws_config=aws_config)
describe_budgets(AccountId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeBudgets", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId), params)); aws_config=aws_config)

"""
    describe_notifications_for_budget(account_id, budget_name)
    describe_notifications_for_budget(account_id, budget_name, params::Dict{String,<:Any})

Lists the notifications that are associated with a budget.

# Arguments
- `account_id`: The accountId that is associated with the budget whose notifications you
  want descriptions of.
- `budget_name`: The name of the budget whose notifications you want descriptions of.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: An optional integer that represents how many entries a paginated response
  contains. The maximum is 100.
- `"NextToken"`: The pagination token that you include in your request to indicate the next
  set of results that you want to retrieve.
"""
describe_notifications_for_budget(AccountId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeNotificationsForBudget", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName); aws_config=aws_config)
describe_notifications_for_budget(AccountId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeNotificationsForBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    describe_subscribers_for_notification(account_id, budget_name, notification)
    describe_subscribers_for_notification(account_id, budget_name, notification, params::Dict{String,<:Any})

Lists the subscribers that are associated with a notification.

# Arguments
- `account_id`: The accountId that is associated with the budget whose subscribers you want
  descriptions of.
- `budget_name`: The name of the budget whose subscribers you want descriptions of.
- `notification`: The notification whose subscribers you want to list.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: An optional integer that represents how many entries a paginated response
  contains. The maximum is 100.
- `"NextToken"`: The pagination token that you include in your request to indicate the next
  set of results that you want to retrieve.
"""
describe_subscribers_for_notification(AccountId, BudgetName, Notification; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeSubscribersForNotification", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification); aws_config=aws_config)
describe_subscribers_for_notification(AccountId, BudgetName, Notification, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("DescribeSubscribersForNotification", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "Notification"=>Notification), params)); aws_config=aws_config)

"""
    execute_budget_action(account_id, action_id, budget_name, execution_type)
    execute_budget_action(account_id, action_id, budget_name, execution_type, params::Dict{String,<:Any})

 Executes a budget action.

# Arguments
- `account_id`:
- `action_id`:  A system-generated universally unique identifier (UUID) for the action.
- `budget_name`:
- `execution_type`:  The type of execution.

"""
execute_budget_action(AccountId, ActionId, BudgetName, ExecutionType; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("ExecuteBudgetAction", Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName, "ExecutionType"=>ExecutionType); aws_config=aws_config)
execute_budget_action(AccountId, ActionId, BudgetName, ExecutionType, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("ExecuteBudgetAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName, "ExecutionType"=>ExecutionType), params)); aws_config=aws_config)

"""
    update_budget(account_id, new_budget)
    update_budget(account_id, new_budget, params::Dict{String,<:Any})

Updates a budget. You can change every part of a budget except for the budgetName and the
calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has
new usage data to use for forecasting.  Only one of BudgetLimit or PlannedBudgetLimits can
be present in the syntax at one time. Use the syntax that matches your case. The Request
Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples
section.

# Arguments
- `account_id`: The accountId that is associated with the budget that you want to update.
- `new_budget`: The budget that you want to update your budget to.

"""
update_budget(AccountId, NewBudget; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateBudget", Dict{String, Any}("AccountId"=>AccountId, "NewBudget"=>NewBudget); aws_config=aws_config)
update_budget(AccountId, NewBudget, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateBudget", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "NewBudget"=>NewBudget), params)); aws_config=aws_config)

"""
    update_budget_action(account_id, action_id, budget_name)
    update_budget_action(account_id, action_id, budget_name, params::Dict{String,<:Any})

 Updates a budget action.

# Arguments
- `account_id`:
- `action_id`:  A system-generated universally unique identifier (UUID) for the action.
- `budget_name`:

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ActionThreshold"`:
- `"ApprovalModel"`:  This specifies if the action needs manual or automatic approval.
- `"Definition"`:
- `"ExecutionRoleArn"`:  The role passed for action execution and reversion. Roles and
  actions must be in the same account.
- `"NotificationType"`:
- `"Subscribers"`:
"""
update_budget_action(AccountId, ActionId, BudgetName; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateBudgetAction", Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName); aws_config=aws_config)
update_budget_action(AccountId, ActionId, BudgetName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateBudgetAction", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "ActionId"=>ActionId, "BudgetName"=>BudgetName), params)); aws_config=aws_config)

"""
    update_notification(account_id, budget_name, new_notification, old_notification)
    update_notification(account_id, budget_name, new_notification, old_notification, params::Dict{String,<:Any})

Updates a notification.

# Arguments
- `account_id`: The accountId that is associated with the budget whose notification you
  want to update.
- `budget_name`: The name of the budget whose notification you want to update.
- `new_notification`: The updated notification to be associated with a budget.
- `old_notification`: The previous notification that is associated with a budget.

"""
update_notification(AccountId, BudgetName, NewNotification, OldNotification; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateNotification", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "NewNotification"=>NewNotification, "OldNotification"=>OldNotification); aws_config=aws_config)
update_notification(AccountId, BudgetName, NewNotification, OldNotification, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateNotification", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "NewNotification"=>NewNotification, "OldNotification"=>OldNotification), params)); aws_config=aws_config)

"""
    update_subscriber(account_id, budget_name, new_subscriber, notification, old_subscriber)
    update_subscriber(account_id, budget_name, new_subscriber, notification, old_subscriber, params::Dict{String,<:Any})

Updates a subscriber.

# Arguments
- `account_id`: The accountId that is associated with the budget whose subscriber you want
  to update.
- `budget_name`: The name of the budget whose subscriber you want to update.
- `new_subscriber`: The updated subscriber that is associated with a budget notification.
- `notification`: The notification whose subscriber you want to update.
- `old_subscriber`: The previous subscriber that is associated with a budget notification.

"""
update_subscriber(AccountId, BudgetName, NewSubscriber, Notification, OldSubscriber; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateSubscriber", Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "NewSubscriber"=>NewSubscriber, "Notification"=>Notification, "OldSubscriber"=>OldSubscriber); aws_config=aws_config)
update_subscriber(AccountId, BudgetName, NewSubscriber, Notification, OldSubscriber, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = budgets("UpdateSubscriber", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountId"=>AccountId, "BudgetName"=>BudgetName, "NewSubscriber"=>NewSubscriber, "Notification"=>Notification, "OldSubscriber"=>OldSubscriber), params)); aws_config=aws_config)
