Class: Aws::Budgets::Types::CreateBudgetActionRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb

Overview

Note:

When making an API call, you may pass CreateBudgetActionRequest data as a hash:

{
  account_id: "AccountId", # required
  budget_name: "BudgetName", # required
  notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
  action_type: "APPLY_IAM_POLICY", # required, accepts APPLY_IAM_POLICY, APPLY_SCP_POLICY, RUN_SSM_DOCUMENTS
  action_threshold: { # required
    action_threshold_value: 1.0, # required
    action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
  },
  definition: { # required
    iam_action_definition: {
      policy_arn: "PolicyArn", # required
      roles: ["Role"],
      groups: ["Group"],
      users: ["User"],
    },
    scp_action_definition: {
      policy_id: "PolicyId", # required
      target_ids: ["TargetId"], # required
    },
    ssm_action_definition: {
      action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
      region: "Region", # required
      instance_ids: ["InstanceId"], # required
    },
  },
  execution_role_arn: "RoleArn", # required
  approval_model: "AUTOMATIC", # required, accepts AUTOMATIC, MANUAL
  subscribers: [ # required
    {
      subscription_type: "SNS", # required, accepts SNS, EMAIL
      address: "SubscriberAddress", # required
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#account_idString

The account ID of the user. It should be a 12-digit number.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#action_thresholdTypes::ActionThreshold

The trigger threshold of the action.



644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#action_typeString

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.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#approval_modelString

This specifies if the action needs manual or automatic approval.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#budget_nameString

A string that represents the budget name. The ":" and "\" characters aren't allowed.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#definitionTypes::Definition

Specifies all of the type-specific parameters.

Returns:



644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#execution_role_arnString

The role passed for action execution and reversion. Roles and actions must be in the same account.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#notification_typeString

The type of a notification. It must be ACTUAL or FORECASTED.

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end

#subscribersArray<Types::Subscriber>

A list of subscribers.

Returns:



644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-budgets/lib/aws-sdk-budgets/types.rb', line 644

class CreateBudgetActionRequest < Struct.new(
  :account_id,
  :budget_name,
  :notification_type,
  :action_type,
  :action_threshold,
  :definition,
  :execution_role_arn,
  :approval_model,
  :subscribers)
  SENSITIVE = []
  include Aws::Structure
end