aws.budgets.BudgetAction
Explore with Pulumi AI
Provides a budget action resource. Budget actions are cost savings controls that run either automatically on your behalf or by using a workflow approval process.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.iam.getPolicyDocument({
    statements: [{
        effect: "Allow",
        actions: ["ec2:Describe*"],
        resources: ["*"],
    }],
});
const examplePolicy = new aws.iam.Policy("example", {
    name: "example",
    description: "My example policy",
    policy: example.then(example => example.json),
});
const current = aws.getPartition({});
const assumeRole = current.then(current => aws.iam.getPolicyDocument({
    statements: [{
        effect: "Allow",
        principals: [{
            type: "Service",
            identifiers: [`budgets.${current.dnsSuffix}`],
        }],
        actions: ["sts:AssumeRole"],
    }],
}));
const exampleRole = new aws.iam.Role("example", {
    name: "example",
    assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
});
const exampleBudget = new aws.budgets.Budget("example", {
    name: "example",
    budgetType: "USAGE",
    limitAmount: "10.0",
    limitUnit: "dollars",
    timePeriodStart: "2006-01-02_15:04",
    timeUnit: "MONTHLY",
});
const exampleBudgetAction = new aws.budgets.BudgetAction("example", {
    budgetName: exampleBudget.name,
    actionType: "APPLY_IAM_POLICY",
    approvalModel: "AUTOMATIC",
    notificationType: "ACTUAL",
    executionRoleArn: exampleRole.arn,
    actionThreshold: {
        actionThresholdType: "ABSOLUTE_VALUE",
        actionThresholdValue: 100,
    },
    definition: {
        iamActionDefinition: {
            policyArn: examplePolicy.arn,
            roles: [exampleRole.name],
        },
    },
    subscribers: [{
        address: "example@example.example",
        subscriptionType: "EMAIL",
    }],
    tags: {
        Tag1: "Value1",
        Tag2: "Value2",
    },
});
import pulumi
import pulumi_aws as aws
example = aws.iam.get_policy_document(statements=[{
    "effect": "Allow",
    "actions": ["ec2:Describe*"],
    "resources": ["*"],
}])
example_policy = aws.iam.Policy("example",
    name="example",
    description="My example policy",
    policy=example.json)
current = aws.get_partition()
assume_role = aws.iam.get_policy_document(statements=[{
    "effect": "Allow",
    "principals": [{
        "type": "Service",
        "identifiers": [f"budgets.{current.dns_suffix}"],
    }],
    "actions": ["sts:AssumeRole"],
}])
example_role = aws.iam.Role("example",
    name="example",
    assume_role_policy=assume_role.json)
example_budget = aws.budgets.Budget("example",
    name="example",
    budget_type="USAGE",
    limit_amount="10.0",
    limit_unit="dollars",
    time_period_start="2006-01-02_15:04",
    time_unit="MONTHLY")
example_budget_action = aws.budgets.BudgetAction("example",
    budget_name=example_budget.name,
    action_type="APPLY_IAM_POLICY",
    approval_model="AUTOMATIC",
    notification_type="ACTUAL",
    execution_role_arn=example_role.arn,
    action_threshold={
        "action_threshold_type": "ABSOLUTE_VALUE",
        "action_threshold_value": 100,
    },
    definition={
        "iam_action_definition": {
            "policy_arn": example_policy.arn,
            "roles": [example_role.name],
        },
    },
    subscribers=[{
        "address": "example@example.example",
        "subscription_type": "EMAIL",
    }],
    tags={
        "Tag1": "Value1",
        "Tag2": "Value2",
    })
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/budgets"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Actions: []string{
						"ec2:Describe*",
					},
					Resources: []string{
						"*",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		examplePolicy, err := iam.NewPolicy(ctx, "example", &iam.PolicyArgs{
			Name:        pulumi.String("example"),
			Description: pulumi.String("My example policy"),
			Policy:      pulumi.String(example.Json),
		})
		if err != nil {
			return err
		}
		current, err := aws.GetPartition(ctx, &aws.GetPartitionArgs{}, nil)
		if err != nil {
			return err
		}
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								fmt.Sprintf("budgets.%v", current.DnsSuffix),
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
			Name:             pulumi.String("example"),
			AssumeRolePolicy: pulumi.String(assumeRole.Json),
		})
		if err != nil {
			return err
		}
		exampleBudget, err := budgets.NewBudget(ctx, "example", &budgets.BudgetArgs{
			Name:            pulumi.String("example"),
			BudgetType:      pulumi.String("USAGE"),
			LimitAmount:     pulumi.String("10.0"),
			LimitUnit:       pulumi.String("dollars"),
			TimePeriodStart: pulumi.String("2006-01-02_15:04"),
			TimeUnit:        pulumi.String("MONTHLY"),
		})
		if err != nil {
			return err
		}
		_, err = budgets.NewBudgetAction(ctx, "example", &budgets.BudgetActionArgs{
			BudgetName:       exampleBudget.Name,
			ActionType:       pulumi.String("APPLY_IAM_POLICY"),
			ApprovalModel:    pulumi.String("AUTOMATIC"),
			NotificationType: pulumi.String("ACTUAL"),
			ExecutionRoleArn: exampleRole.Arn,
			ActionThreshold: &budgets.BudgetActionActionThresholdArgs{
				ActionThresholdType:  pulumi.String("ABSOLUTE_VALUE"),
				ActionThresholdValue: pulumi.Float64(100),
			},
			Definition: &budgets.BudgetActionDefinitionArgs{
				IamActionDefinition: &budgets.BudgetActionDefinitionIamActionDefinitionArgs{
					PolicyArn: examplePolicy.Arn,
					Roles: pulumi.StringArray{
						exampleRole.Name,
					},
				},
			},
			Subscribers: budgets.BudgetActionSubscriberArray{
				&budgets.BudgetActionSubscriberArgs{
					Address:          pulumi.String("example@example.example"),
					SubscriptionType: pulumi.String("EMAIL"),
				},
			},
			Tags: pulumi.StringMap{
				"Tag1": pulumi.String("Value1"),
				"Tag2": pulumi.String("Value2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Actions = new[]
                {
                    "ec2:Describe*",
                },
                Resources = new[]
                {
                    "*",
                },
            },
        },
    });
    var examplePolicy = new Aws.Iam.Policy("example", new()
    {
        Name = "example",
        Description = "My example policy",
        PolicyDocument = example.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
    var current = Aws.GetPartition.Invoke();
    var assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "Service",
                        Identifiers = new[]
                        {
                            $"budgets.{current.Apply(getPartitionResult => getPartitionResult.DnsSuffix)}",
                        },
                    },
                },
                Actions = new[]
                {
                    "sts:AssumeRole",
                },
            },
        },
    });
    var exampleRole = new Aws.Iam.Role("example", new()
    {
        Name = "example",
        AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
    var exampleBudget = new Aws.Budgets.Budget("example", new()
    {
        Name = "example",
        BudgetType = "USAGE",
        LimitAmount = "10.0",
        LimitUnit = "dollars",
        TimePeriodStart = "2006-01-02_15:04",
        TimeUnit = "MONTHLY",
    });
    var exampleBudgetAction = new Aws.Budgets.BudgetAction("example", new()
    {
        BudgetName = exampleBudget.Name,
        ActionType = "APPLY_IAM_POLICY",
        ApprovalModel = "AUTOMATIC",
        NotificationType = "ACTUAL",
        ExecutionRoleArn = exampleRole.Arn,
        ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs
        {
            ActionThresholdType = "ABSOLUTE_VALUE",
            ActionThresholdValue = 100,
        },
        Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs
        {
            IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs
            {
                PolicyArn = examplePolicy.Arn,
                Roles = new[]
                {
                    exampleRole.Name,
                },
            },
        },
        Subscribers = new[]
        {
            new Aws.Budgets.Inputs.BudgetActionSubscriberArgs
            {
                Address = "example@example.example",
                SubscriptionType = "EMAIL",
            },
        },
        Tags = 
        {
            { "Tag1", "Value1" },
            { "Tag2", "Value2" },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Policy;
import com.pulumi.aws.iam.PolicyArgs;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetPartitionArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.budgets.Budget;
import com.pulumi.aws.budgets.BudgetArgs;
import com.pulumi.aws.budgets.BudgetAction;
import com.pulumi.aws.budgets.BudgetActionArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionDefinitionIamActionDefinitionArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .actions("ec2:Describe*")
                .resources("*")
                .build())
            .build());
        var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder()
            .name("example")
            .description("My example policy")
            .policy(example.json())
            .build());
        final var current = AwsFunctions.getPartition(GetPartitionArgs.builder()
            .build());
        final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                    .type("Service")
                    .identifiers(String.format("budgets.%s", current.dnsSuffix()))
                    .build())
                .actions("sts:AssumeRole")
                .build())
            .build());
        var exampleRole = new Role("exampleRole", RoleArgs.builder()
            .name("example")
            .assumeRolePolicy(assumeRole.json())
            .build());
        var exampleBudget = new Budget("exampleBudget", BudgetArgs.builder()
            .name("example")
            .budgetType("USAGE")
            .limitAmount("10.0")
            .limitUnit("dollars")
            .timePeriodStart("2006-01-02_15:04")
            .timeUnit("MONTHLY")
            .build());
        var exampleBudgetAction = new BudgetAction("exampleBudgetAction", BudgetActionArgs.builder()
            .budgetName(exampleBudget.name())
            .actionType("APPLY_IAM_POLICY")
            .approvalModel("AUTOMATIC")
            .notificationType("ACTUAL")
            .executionRoleArn(exampleRole.arn())
            .actionThreshold(BudgetActionActionThresholdArgs.builder()
                .actionThresholdType("ABSOLUTE_VALUE")
                .actionThresholdValue(100.0)
                .build())
            .definition(BudgetActionDefinitionArgs.builder()
                .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()
                    .policyArn(examplePolicy.arn())
                    .roles(exampleRole.name())
                    .build())
                .build())
            .subscribers(BudgetActionSubscriberArgs.builder()
                .address("example@example.example")
                .subscriptionType("EMAIL")
                .build())
            .tags(Map.ofEntries(
                Map.entry("Tag1", "Value1"),
                Map.entry("Tag2", "Value2")
            ))
            .build());
    }
}
resources:
  exampleBudgetAction:
    type: aws:budgets:BudgetAction
    name: example
    properties:
      budgetName: ${exampleBudget.name}
      actionType: APPLY_IAM_POLICY
      approvalModel: AUTOMATIC
      notificationType: ACTUAL
      executionRoleArn: ${exampleRole.arn}
      actionThreshold:
        actionThresholdType: ABSOLUTE_VALUE
        actionThresholdValue: 100
      definition:
        iamActionDefinition:
          policyArn: ${examplePolicy.arn}
          roles:
            - ${exampleRole.name}
      subscribers:
        - address: example@example.example
          subscriptionType: EMAIL
      tags:
        Tag1: Value1
        Tag2: Value2
  examplePolicy:
    type: aws:iam:Policy
    name: example
    properties:
      name: example
      description: My example policy
      policy: ${example.json}
  exampleRole:
    type: aws:iam:Role
    name: example
    properties:
      name: example
      assumeRolePolicy: ${assumeRole.json}
  exampleBudget:
    type: aws:budgets:Budget
    name: example
    properties:
      name: example
      budgetType: USAGE
      limitAmount: '10.0'
      limitUnit: dollars
      timePeriodStart: 2006-01-02_15:04
      timeUnit: MONTHLY
variables:
  example:
    fn::invoke:
      function: aws:iam:getPolicyDocument
      arguments:
        statements:
          - effect: Allow
            actions:
              - ec2:Describe*
            resources:
              - '*'
  current:
    fn::invoke:
      function: aws:getPartition
      arguments: {}
  assumeRole:
    fn::invoke:
      function: aws:iam:getPolicyDocument
      arguments:
        statements:
          - effect: Allow
            principals:
              - type: Service
                identifiers:
                  - budgets.${current.dnsSuffix}
            actions:
              - sts:AssumeRole
Create BudgetAction Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BudgetAction(name: string, args: BudgetActionArgs, opts?: CustomResourceOptions);@overload
def BudgetAction(resource_name: str,
                 args: BudgetActionArgs,
                 opts: Optional[ResourceOptions] = None)
@overload
def BudgetAction(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 action_threshold: Optional[BudgetActionActionThresholdArgs] = None,
                 action_type: Optional[str] = None,
                 approval_model: Optional[str] = None,
                 budget_name: Optional[str] = None,
                 definition: Optional[BudgetActionDefinitionArgs] = None,
                 execution_role_arn: Optional[str] = None,
                 notification_type: Optional[str] = None,
                 subscribers: Optional[Sequence[BudgetActionSubscriberArgs]] = None,
                 account_id: Optional[str] = None,
                 tags: Optional[Mapping[str, str]] = None)func NewBudgetAction(ctx *Context, name string, args BudgetActionArgs, opts ...ResourceOption) (*BudgetAction, error)public BudgetAction(string name, BudgetActionArgs args, CustomResourceOptions? opts = null)
public BudgetAction(String name, BudgetActionArgs args)
public BudgetAction(String name, BudgetActionArgs args, CustomResourceOptions options)
type: aws:budgets:BudgetAction
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
 - The unique name of the resource.
 - args BudgetActionArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- resource_name str
 - The unique name of the resource.
 - args BudgetActionArgs
 - The arguments to resource properties.
 - opts ResourceOptions
 - Bag of options to control resource's behavior.
 
- ctx Context
 - Context object for the current deployment.
 - name string
 - The unique name of the resource.
 - args BudgetActionArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args BudgetActionArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args BudgetActionArgs
 - The arguments to resource properties.
 - options CustomResourceOptions
 - Bag of options to control resource's behavior.
 
Constructor example
The following reference example uses placeholder values for all input properties.
var budgetActionResource = new Aws.Budgets.BudgetAction("budgetActionResource", new()
{
    ActionThreshold = new Aws.Budgets.Inputs.BudgetActionActionThresholdArgs
    {
        ActionThresholdType = "string",
        ActionThresholdValue = 0,
    },
    ActionType = "string",
    ApprovalModel = "string",
    BudgetName = "string",
    Definition = new Aws.Budgets.Inputs.BudgetActionDefinitionArgs
    {
        IamActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionIamActionDefinitionArgs
        {
            PolicyArn = "string",
            Groups = new[]
            {
                "string",
            },
            Roles = new[]
            {
                "string",
            },
            Users = new[]
            {
                "string",
            },
        },
        ScpActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionScpActionDefinitionArgs
        {
            PolicyId = "string",
            TargetIds = new[]
            {
                "string",
            },
        },
        SsmActionDefinition = new Aws.Budgets.Inputs.BudgetActionDefinitionSsmActionDefinitionArgs
        {
            ActionSubType = "string",
            InstanceIds = new[]
            {
                "string",
            },
            Region = "string",
        },
    },
    ExecutionRoleArn = "string",
    NotificationType = "string",
    Subscribers = new[]
    {
        new Aws.Budgets.Inputs.BudgetActionSubscriberArgs
        {
            Address = "string",
            SubscriptionType = "string",
        },
    },
    AccountId = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := budgets.NewBudgetAction(ctx, "budgetActionResource", &budgets.BudgetActionArgs{
	ActionThreshold: &budgets.BudgetActionActionThresholdArgs{
		ActionThresholdType:  pulumi.String("string"),
		ActionThresholdValue: pulumi.Float64(0),
	},
	ActionType:    pulumi.String("string"),
	ApprovalModel: pulumi.String("string"),
	BudgetName:    pulumi.String("string"),
	Definition: &budgets.BudgetActionDefinitionArgs{
		IamActionDefinition: &budgets.BudgetActionDefinitionIamActionDefinitionArgs{
			PolicyArn: pulumi.String("string"),
			Groups: pulumi.StringArray{
				pulumi.String("string"),
			},
			Roles: pulumi.StringArray{
				pulumi.String("string"),
			},
			Users: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		ScpActionDefinition: &budgets.BudgetActionDefinitionScpActionDefinitionArgs{
			PolicyId: pulumi.String("string"),
			TargetIds: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		SsmActionDefinition: &budgets.BudgetActionDefinitionSsmActionDefinitionArgs{
			ActionSubType: pulumi.String("string"),
			InstanceIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			Region: pulumi.String("string"),
		},
	},
	ExecutionRoleArn: pulumi.String("string"),
	NotificationType: pulumi.String("string"),
	Subscribers: budgets.BudgetActionSubscriberArray{
		&budgets.BudgetActionSubscriberArgs{
			Address:          pulumi.String("string"),
			SubscriptionType: pulumi.String("string"),
		},
	},
	AccountId: pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var budgetActionResource = new BudgetAction("budgetActionResource", BudgetActionArgs.builder()
    .actionThreshold(BudgetActionActionThresholdArgs.builder()
        .actionThresholdType("string")
        .actionThresholdValue(0)
        .build())
    .actionType("string")
    .approvalModel("string")
    .budgetName("string")
    .definition(BudgetActionDefinitionArgs.builder()
        .iamActionDefinition(BudgetActionDefinitionIamActionDefinitionArgs.builder()
            .policyArn("string")
            .groups("string")
            .roles("string")
            .users("string")
            .build())
        .scpActionDefinition(BudgetActionDefinitionScpActionDefinitionArgs.builder()
            .policyId("string")
            .targetIds("string")
            .build())
        .ssmActionDefinition(BudgetActionDefinitionSsmActionDefinitionArgs.builder()
            .actionSubType("string")
            .instanceIds("string")
            .region("string")
            .build())
        .build())
    .executionRoleArn("string")
    .notificationType("string")
    .subscribers(BudgetActionSubscriberArgs.builder()
        .address("string")
        .subscriptionType("string")
        .build())
    .accountId("string")
    .tags(Map.of("string", "string"))
    .build());
budget_action_resource = aws.budgets.BudgetAction("budgetActionResource",
    action_threshold={
        "action_threshold_type": "string",
        "action_threshold_value": 0,
    },
    action_type="string",
    approval_model="string",
    budget_name="string",
    definition={
        "iam_action_definition": {
            "policy_arn": "string",
            "groups": ["string"],
            "roles": ["string"],
            "users": ["string"],
        },
        "scp_action_definition": {
            "policy_id": "string",
            "target_ids": ["string"],
        },
        "ssm_action_definition": {
            "action_sub_type": "string",
            "instance_ids": ["string"],
            "region": "string",
        },
    },
    execution_role_arn="string",
    notification_type="string",
    subscribers=[{
        "address": "string",
        "subscription_type": "string",
    }],
    account_id="string",
    tags={
        "string": "string",
    })
const budgetActionResource = new aws.budgets.BudgetAction("budgetActionResource", {
    actionThreshold: {
        actionThresholdType: "string",
        actionThresholdValue: 0,
    },
    actionType: "string",
    approvalModel: "string",
    budgetName: "string",
    definition: {
        iamActionDefinition: {
            policyArn: "string",
            groups: ["string"],
            roles: ["string"],
            users: ["string"],
        },
        scpActionDefinition: {
            policyId: "string",
            targetIds: ["string"],
        },
        ssmActionDefinition: {
            actionSubType: "string",
            instanceIds: ["string"],
            region: "string",
        },
    },
    executionRoleArn: "string",
    notificationType: "string",
    subscribers: [{
        address: "string",
        subscriptionType: "string",
    }],
    accountId: "string",
    tags: {
        string: "string",
    },
});
type: aws:budgets:BudgetAction
properties:
    accountId: string
    actionThreshold:
        actionThresholdType: string
        actionThresholdValue: 0
    actionType: string
    approvalModel: string
    budgetName: string
    definition:
        iamActionDefinition:
            groups:
                - string
            policyArn: string
            roles:
                - string
            users:
                - string
        scpActionDefinition:
            policyId: string
            targetIds:
                - string
        ssmActionDefinition:
            actionSubType: string
            instanceIds:
                - string
            region: string
    executionRoleArn: string
    notificationType: string
    subscribers:
        - address: string
          subscriptionType: string
    tags:
        string: string
BudgetAction Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BudgetAction resource accepts the following input properties:
- Action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - Action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - Approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - Budget
Name string - The name of a budget.
 - Definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - Execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - Notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - Subscribers
List<Budget
Action Subscriber>  - A list of subscribers. See Subscriber.
 - Account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Dictionary<string, string>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- Action
Threshold BudgetAction Action Threshold Args  - The trigger threshold of the action. See Action Threshold.
 - Action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - Approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - Budget
Name string - The name of a budget.
 - Definition
Budget
Action Definition Args  - Specifies all of the type-specific parameters. See Definition.
 - Execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - Notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - Subscribers
[]Budget
Action Subscriber Args  - A list of subscribers. See Subscriber.
 - Account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - map[string]string
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - action
Type String - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model String - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - budget
Name String - The name of a budget.
 - definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - execution
Role StringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type String - The type of a notification. Valid values are 
ACTUALorFORECASTED. - subscribers
List<Budget
Action Subscriber>  - A list of subscribers. See Subscriber.
 - account
Id String - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Map<String,String>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - budget
Name string - The name of a budget.
 - definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - subscribers
Budget
Action Subscriber[]  - A list of subscribers. See Subscriber.
 - account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - {[key: string]: string}
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- action_
threshold BudgetAction Action Threshold Args  - The trigger threshold of the action. See Action Threshold.
 - action_
type str - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval_
model str - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - budget_
name str - The name of a budget.
 - definition
Budget
Action Definition Args  - Specifies all of the type-specific parameters. See Definition.
 - execution_
role_ strarn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification_
type str - The type of a notification. Valid values are 
ACTUALorFORECASTED. - subscribers
Sequence[Budget
Action Subscriber Args]  - A list of subscribers. See Subscriber.
 - account_
id str - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Mapping[str, str]
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- action
Threshold Property Map - The trigger threshold of the action. See Action Threshold.
 - action
Type String - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model String - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - budget
Name String - The name of a budget.
 - definition Property Map
 - Specifies all of the type-specific parameters. See Definition.
 - execution
Role StringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type String - The type of a notification. Valid values are 
ACTUALorFORECASTED. - subscribers List<Property Map>
 - A list of subscribers. See Subscriber.
 - account
Id String - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Map<String>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
Outputs
All input properties are implicitly available as output properties. Additionally, the BudgetAction resource produces the following output properties:
- Action
Id string - The id of the budget action.
 - Arn string
 - The ARN of the budget action.
 - Id string
 - The provider-assigned unique ID for this managed resource.
 - Status string
 - The status of the budget action.
 - Dictionary<string, string>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- Action
Id string - The id of the budget action.
 - Arn string
 - The ARN of the budget action.
 - Id string
 - The provider-assigned unique ID for this managed resource.
 - Status string
 - The status of the budget action.
 - map[string]string
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- action
Id String - The id of the budget action.
 - arn String
 - The ARN of the budget action.
 - id String
 - The provider-assigned unique ID for this managed resource.
 - status String
 - The status of the budget action.
 - Map<String,String>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- action
Id string - The id of the budget action.
 - arn string
 - The ARN of the budget action.
 - id string
 - The provider-assigned unique ID for this managed resource.
 - status string
 - The status of the budget action.
 - {[key: string]: string}
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- action_
id str - The id of the budget action.
 - arn str
 - The ARN of the budget action.
 - id str
 - The provider-assigned unique ID for this managed resource.
 - status str
 - The status of the budget action.
 - Mapping[str, str]
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- action
Id String - The id of the budget action.
 - arn String
 - The ARN of the budget action.
 - id String
 - The provider-assigned unique ID for this managed resource.
 - status String
 - The status of the budget action.
 - Map<String>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
Look up Existing BudgetAction Resource
Get an existing BudgetAction resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: BudgetActionState, opts?: CustomResourceOptions): BudgetAction@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        account_id: Optional[str] = None,
        action_id: Optional[str] = None,
        action_threshold: Optional[BudgetActionActionThresholdArgs] = None,
        action_type: Optional[str] = None,
        approval_model: Optional[str] = None,
        arn: Optional[str] = None,
        budget_name: Optional[str] = None,
        definition: Optional[BudgetActionDefinitionArgs] = None,
        execution_role_arn: Optional[str] = None,
        notification_type: Optional[str] = None,
        status: Optional[str] = None,
        subscribers: Optional[Sequence[BudgetActionSubscriberArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> BudgetActionfunc GetBudgetAction(ctx *Context, name string, id IDInput, state *BudgetActionState, opts ...ResourceOption) (*BudgetAction, error)public static BudgetAction Get(string name, Input<string> id, BudgetActionState? state, CustomResourceOptions? opts = null)public static BudgetAction get(String name, Output<String> id, BudgetActionState state, CustomResourceOptions options)resources:  _:    type: aws:budgets:BudgetAction    get:      id: ${id}- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- resource_name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- Account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Action
Id string - The id of the budget action.
 - Action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - Action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - Approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - Arn string
 - The ARN of the budget action.
 - Budget
Name string - The name of a budget.
 - Definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - Execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - Notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - Status string
 - The status of the budget action.
 - Subscribers
List<Budget
Action Subscriber>  - A list of subscribers. See Subscriber.
 - Dictionary<string, string>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- Account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - Action
Id string - The id of the budget action.
 - Action
Threshold BudgetAction Action Threshold Args  - The trigger threshold of the action. See Action Threshold.
 - Action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - Approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - Arn string
 - The ARN of the budget action.
 - Budget
Name string - The name of a budget.
 - Definition
Budget
Action Definition Args  - Specifies all of the type-specific parameters. See Definition.
 - Execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - Notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - Status string
 - The status of the budget action.
 - Subscribers
[]Budget
Action Subscriber Args  - A list of subscribers. See Subscriber.
 - map[string]string
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- account
Id String - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - action
Id String - The id of the budget action.
 - action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - action
Type String - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model String - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - arn String
 - The ARN of the budget action.
 - budget
Name String - The name of a budget.
 - definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - execution
Role StringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type String - The type of a notification. Valid values are 
ACTUALorFORECASTED. - status String
 - The status of the budget action.
 - subscribers
List<Budget
Action Subscriber>  - A list of subscribers. See Subscriber.
 - Map<String,String>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- account
Id string - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - action
Id string - The id of the budget action.
 - action
Threshold BudgetAction Action Threshold  - The trigger threshold of the action. See Action Threshold.
 - action
Type string - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model string - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - arn string
 - The ARN of the budget action.
 - budget
Name string - The name of a budget.
 - definition
Budget
Action Definition  - Specifies all of the type-specific parameters. See Definition.
 - execution
Role stringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type string - The type of a notification. Valid values are 
ACTUALorFORECASTED. - status string
 - The status of the budget action.
 - subscribers
Budget
Action Subscriber[]  - A list of subscribers. See Subscriber.
 - {[key: string]: string}
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- account_
id str - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - action_
id str - The id of the budget action.
 - action_
threshold BudgetAction Action Threshold Args  - The trigger threshold of the action. See Action Threshold.
 - action_
type str - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval_
model str - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - arn str
 - The ARN of the budget action.
 - budget_
name str - The name of a budget.
 - definition
Budget
Action Definition Args  - Specifies all of the type-specific parameters. See Definition.
 - execution_
role_ strarn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification_
type str - The type of a notification. Valid values are 
ACTUALorFORECASTED. - status str
 - The status of the budget action.
 - subscribers
Sequence[Budget
Action Subscriber Args]  - A list of subscribers. See Subscriber.
 - Mapping[str, str]
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
- account
Id String - The ID of the target account for budget. Will use current user's account_id by default if omitted.
 - action
Id String - The id of the budget action.
 - action
Threshold Property Map - The trigger threshold of the action. See Action Threshold.
 - action
Type String - 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. Valid values are 
APPLY_IAM_POLICY,APPLY_SCP_POLICY, andRUN_SSM_DOCUMENTS. - approval
Model String - This specifies if the action needs manual or automatic approval. Valid values are 
AUTOMATICandMANUAL. - arn String
 - The ARN of the budget action.
 - budget
Name String - The name of a budget.
 - definition Property Map
 - Specifies all of the type-specific parameters. See Definition.
 - execution
Role StringArn  - The role passed for action execution and reversion. Roles and actions must be in the same account.
 - notification
Type String - The type of a notification. Valid values are 
ACTUALorFORECASTED. - status String
 - The status of the budget action.
 - subscribers List<Property Map>
 - A list of subscribers. See Subscriber.
 - Map<String>
 - Map of tags assigned to the resource. If configured with a provider 
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
 - Map of tags assigned to the resource, including those inherited from the provider 
default_tagsconfiguration block. 
Supporting Types
BudgetActionActionThreshold, BudgetActionActionThresholdArgs        
- Action
Threshold stringType  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - Action
Threshold doubleValue  - The threshold of a notification.
 
- Action
Threshold stringType  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - Action
Threshold float64Value  - The threshold of a notification.
 
- action
Threshold StringType  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - action
Threshold DoubleValue  - The threshold of a notification.
 
- action
Threshold stringType  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - action
Threshold numberValue  - The threshold of a notification.
 
- action_
threshold_ strtype  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - action_
threshold_ floatvalue  - The threshold of a notification.
 
- action
Threshold StringType  - The type of threshold for a notification. Valid values are 
PERCENTAGEorABSOLUTE_VALUE. - action
Threshold NumberValue  - The threshold of a notification.
 
BudgetActionDefinition, BudgetActionDefinitionArgs      
- Iam
Action BudgetDefinition Action Definition Iam Action Definition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - Scp
Action BudgetDefinition Action Definition Scp Action Definition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - Ssm
Action BudgetDefinition Action Definition Ssm Action Definition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
- Iam
Action BudgetDefinition Action Definition Iam Action Definition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - Scp
Action BudgetDefinition Action Definition Scp Action Definition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - Ssm
Action BudgetDefinition Action Definition Ssm Action Definition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
- iam
Action BudgetDefinition Action Definition Iam Action Definition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - scp
Action BudgetDefinition Action Definition Scp Action Definition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - ssm
Action BudgetDefinition Action Definition Ssm Action Definition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
- iam
Action BudgetDefinition Action Definition Iam Action Definition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - scp
Action BudgetDefinition Action Definition Scp Action Definition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - ssm
Action BudgetDefinition Action Definition Ssm Action Definition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
- iam_
action_ Budgetdefinition Action Definition Iam Action Definition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - scp_
action_ Budgetdefinition Action Definition Scp Action Definition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - ssm_
action_ Budgetdefinition Action Definition Ssm Action Definition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
- iam
Action Property MapDefinition  - The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
 - scp
Action Property MapDefinition  - The service control policies (SCPs) action definition details. See SCP Action Definition.
 - ssm
Action Property MapDefinition  - The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
 
BudgetActionDefinitionIamActionDefinition, BudgetActionDefinitionIamActionDefinitionArgs            
- Policy
Arn string - The Amazon Resource Name (ARN) of the policy to be attached.
 - Groups List<string>
 - A list of groups to be attached. There must be at least one group.
 - Roles List<string>
 - A list of roles to be attached. There must be at least one role.
 - Users List<string>
 - A list of users to be attached. There must be at least one user.
 
- Policy
Arn string - The Amazon Resource Name (ARN) of the policy to be attached.
 - Groups []string
 - A list of groups to be attached. There must be at least one group.
 - Roles []string
 - A list of roles to be attached. There must be at least one role.
 - Users []string
 - A list of users to be attached. There must be at least one user.
 
- policy
Arn String - The Amazon Resource Name (ARN) of the policy to be attached.
 - groups List<String>
 - A list of groups to be attached. There must be at least one group.
 - roles List<String>
 - A list of roles to be attached. There must be at least one role.
 - users List<String>
 - A list of users to be attached. There must be at least one user.
 
- policy
Arn string - The Amazon Resource Name (ARN) of the policy to be attached.
 - groups string[]
 - A list of groups to be attached. There must be at least one group.
 - roles string[]
 - A list of roles to be attached. There must be at least one role.
 - users string[]
 - A list of users to be attached. There must be at least one user.
 
- policy_
arn str - The Amazon Resource Name (ARN) of the policy to be attached.
 - groups Sequence[str]
 - A list of groups to be attached. There must be at least one group.
 - roles Sequence[str]
 - A list of roles to be attached. There must be at least one role.
 - users Sequence[str]
 - A list of users to be attached. There must be at least one user.
 
- policy
Arn String - The Amazon Resource Name (ARN) of the policy to be attached.
 - groups List<String>
 - A list of groups to be attached. There must be at least one group.
 - roles List<String>
 - A list of roles to be attached. There must be at least one role.
 - users List<String>
 - A list of users to be attached. There must be at least one user.
 
BudgetActionDefinitionScpActionDefinition, BudgetActionDefinitionScpActionDefinitionArgs            
- policy_
id str - The policy ID attached.
 - target_
ids Sequence[str] - A list of target IDs.
 
BudgetActionDefinitionSsmActionDefinition, BudgetActionDefinitionSsmActionDefinitionArgs            
- Action
Sub stringType  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - Instance
Ids List<string> - The EC2 and RDS instance IDs.
 - Region string
 - The Region to run the SSM document.
 
- Action
Sub stringType  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - Instance
Ids []string - The EC2 and RDS instance IDs.
 - Region string
 - The Region to run the SSM document.
 
- action
Sub StringType  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - instance
Ids List<String> - The EC2 and RDS instance IDs.
 - region String
 - The Region to run the SSM document.
 
- action
Sub stringType  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - instance
Ids string[] - The EC2 and RDS instance IDs.
 - region string
 - The Region to run the SSM document.
 
- action_
sub_ strtype  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - instance_
ids Sequence[str] - The EC2 and RDS instance IDs.
 - region str
 - The Region to run the SSM document.
 
- action
Sub StringType  - The action subType. Valid values are 
STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES. - instance
Ids List<String> - The EC2 and RDS instance IDs.
 - region String
 - The Region to run the SSM document.
 
BudgetActionSubscriber, BudgetActionSubscriberArgs      
- Address string
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - Subscription
Type string - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
- Address string
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - Subscription
Type string - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
- address String
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - subscription
Type String - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
- address string
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - subscription
Type string - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
- address str
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - subscription_
type str - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
- address String
 - The address that AWS sends budget notifications to, either an SNS topic or an email.
 - subscription
Type String - The type of notification that AWS sends to a subscriber. Valid values are 
SNSorEMAIL. 
Import
Using pulumi import, import budget actions using AccountID:ActionID:BudgetName. For example:
$ pulumi import aws:budgets/budgetAction:BudgetAction myBudget 123456789012:some-id:myBudget
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
 - AWS Classic pulumi/pulumi-aws
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
awsTerraform Provider.