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.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
            .build());
        final var current = AwsFunctions.getPartition();
        final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                    .type("Service")
                    .identifiers(String.format("budgets.%s", current.applyValue(getPartitionResult -> getPartitionResult.dnsSuffix())))
                    .build())
                .actions("sts:AssumeRole")
                .build())
            .build());
        var exampleRole = new Role("exampleRole", RoleArgs.builder()
            .name("example")
            .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.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)
                .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:
- ActionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- ActionType 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.
- ApprovalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- BudgetName string
- The name of a budget.
- Definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- ExecutionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- NotificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- Subscribers
List<BudgetAction Subscriber> 
- A list of subscribers. See Subscriber.
- AccountId 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.
- ActionThreshold BudgetAction Action Threshold Args 
- The trigger threshold of the action. See Action Threshold.
- ActionType 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.
- ApprovalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- BudgetName string
- The name of a budget.
- Definition
BudgetAction Definition Args 
- Specifies all of the type-specific parameters. See Definition.
- ExecutionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- NotificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- Subscribers
[]BudgetAction Subscriber Args 
- A list of subscribers. See Subscriber.
- AccountId 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.
- actionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel String
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- budgetName String
- The name of a budget.
- definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- executionRole StringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType String
- The type of a notification. Valid values are ACTUALorFORECASTED.
- subscribers
List<BudgetAction Subscriber> 
- A list of subscribers. See Subscriber.
- accountId 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.
- actionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- budgetName string
- The name of a budget.
- definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- executionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- subscribers
BudgetAction Subscriber[] 
- A list of subscribers. See Subscriber.
- accountId 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
BudgetAction 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[BudgetAction 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.
- actionThreshold Property Map
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel String
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- budgetName String
- The name of a budget.
- definition Property Map
- Specifies all of the type-specific parameters. See Definition.
- executionRole StringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType String
- The type of a notification. Valid values are ACTUALorFORECASTED.
- subscribers List<Property Map>
- A list of subscribers. See Subscriber.
- accountId 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:
- ActionId 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.
- ActionId 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.
- actionId 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.
- actionId 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.
- actionId 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.
- AccountId string
- The ID of the target account for budget. Will use current user's account_id by default if omitted.
- ActionId string
- The id of the budget action.
- ActionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- ActionType 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.
- ApprovalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- Arn string
- The ARN of the budget action.
- BudgetName string
- The name of a budget.
- Definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- ExecutionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- NotificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- Status string
- The status of the budget action.
- Subscribers
List<BudgetAction 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.
- AccountId string
- The ID of the target account for budget. Will use current user's account_id by default if omitted.
- ActionId string
- The id of the budget action.
- ActionThreshold BudgetAction Action Threshold Args 
- The trigger threshold of the action. See Action Threshold.
- ActionType 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.
- ApprovalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- Arn string
- The ARN of the budget action.
- BudgetName string
- The name of a budget.
- Definition
BudgetAction Definition Args 
- Specifies all of the type-specific parameters. See Definition.
- ExecutionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- NotificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- Status string
- The status of the budget action.
- Subscribers
[]BudgetAction 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.
- accountId String
- The ID of the target account for budget. Will use current user's account_id by default if omitted.
- actionId String
- The id of the budget action.
- actionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel String
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- arn String
- The ARN of the budget action.
- budgetName String
- The name of a budget.
- definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- executionRole StringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType String
- The type of a notification. Valid values are ACTUALorFORECASTED.
- status String
- The status of the budget action.
- subscribers
List<BudgetAction 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.
- accountId string
- The ID of the target account for budget. Will use current user's account_id by default if omitted.
- actionId string
- The id of the budget action.
- actionThreshold BudgetAction Action Threshold 
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel string
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- arn string
- The ARN of the budget action.
- budgetName string
- The name of a budget.
- definition
BudgetAction Definition 
- Specifies all of the type-specific parameters. See Definition.
- executionRole stringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType string
- The type of a notification. Valid values are ACTUALorFORECASTED.
- status string
- The status of the budget action.
- subscribers
BudgetAction 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
BudgetAction 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[BudgetAction 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.
- accountId String
- The ID of the target account for budget. Will use current user's account_id by default if omitted.
- actionId String
- The id of the budget action.
- actionThreshold Property Map
- The trigger threshold of the action. See Action Threshold.
- actionType 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.
- approvalModel String
- This specifies if the action needs manual or automatic approval. Valid values are AUTOMATICandMANUAL.
- arn String
- The ARN of the budget action.
- budgetName String
- The name of a budget.
- definition Property Map
- Specifies all of the type-specific parameters. See Definition.
- executionRole StringArn 
- The role passed for action execution and reversion. Roles and actions must be in the same account.
- notificationType 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        
- ActionThreshold stringType 
- The type of threshold for a notification. Valid values are PERCENTAGEorABSOLUTE_VALUE.
- ActionThreshold doubleValue 
- The threshold of a notification.
- ActionThreshold stringType 
- The type of threshold for a notification. Valid values are PERCENTAGEorABSOLUTE_VALUE.
- ActionThreshold float64Value 
- The threshold of a notification.
- actionThreshold StringType 
- The type of threshold for a notification. Valid values are PERCENTAGEorABSOLUTE_VALUE.
- actionThreshold DoubleValue 
- The threshold of a notification.
- actionThreshold stringType 
- The type of threshold for a notification. Valid values are PERCENTAGEorABSOLUTE_VALUE.
- actionThreshold 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.
- actionThreshold StringType 
- The type of threshold for a notification. Valid values are PERCENTAGEorABSOLUTE_VALUE.
- actionThreshold NumberValue 
- The threshold of a notification.
BudgetActionDefinition, BudgetActionDefinitionArgs      
- IamAction BudgetDefinition Action Definition Iam Action Definition 
- The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
- ScpAction BudgetDefinition Action Definition Scp Action Definition 
- The service control policies (SCPs) action definition details. See SCP Action Definition.
- SsmAction BudgetDefinition Action Definition Ssm Action Definition 
- The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
- IamAction BudgetDefinition Action Definition Iam Action Definition 
- The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
- ScpAction BudgetDefinition Action Definition Scp Action Definition 
- The service control policies (SCPs) action definition details. See SCP Action Definition.
- SsmAction BudgetDefinition Action Definition Ssm Action Definition 
- The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
- iamAction BudgetDefinition Action Definition Iam Action Definition 
- The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
- scpAction BudgetDefinition Action Definition Scp Action Definition 
- The service control policies (SCPs) action definition details. See SCP Action Definition.
- ssmAction BudgetDefinition Action Definition Ssm Action Definition 
- The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
- iamAction BudgetDefinition Action Definition Iam Action Definition 
- The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
- scpAction BudgetDefinition Action Definition Scp Action Definition 
- The service control policies (SCPs) action definition details. See SCP Action Definition.
- ssmAction 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.
- iamAction Property MapDefinition 
- The AWS Identity and Access Management (IAM) action definition details. See IAM Action Definition.
- scpAction Property MapDefinition 
- The service control policies (SCPs) action definition details. See SCP Action Definition.
- ssmAction Property MapDefinition 
- The AWS Systems Manager (SSM) action definition details. See SSM Action Definition.
BudgetActionDefinitionIamActionDefinition, BudgetActionDefinitionIamActionDefinitionArgs            
- PolicyArn 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.
- PolicyArn 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.
- policyArn 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.
- policyArn 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.
- policyArn 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            
- ActionSub stringType 
- The action subType. Valid values are STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES.
- InstanceIds List<string>
- The EC2 and RDS instance IDs.
- Region string
- The Region to run the SSM document.
- ActionSub stringType 
- The action subType. Valid values are STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES.
- InstanceIds []string
- The EC2 and RDS instance IDs.
- Region string
- The Region to run the SSM document.
- actionSub StringType 
- The action subType. Valid values are STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES.
- instanceIds List<String>
- The EC2 and RDS instance IDs.
- region String
- The Region to run the SSM document.
- actionSub stringType 
- The action subType. Valid values are STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES.
- instanceIds 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.
- actionSub StringType 
- The action subType. Valid values are STOP_EC2_INSTANCESorSTOP_RDS_INSTANCES.
- instanceIds 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.
- SubscriptionType 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.
- SubscriptionType 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.
- subscriptionType 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.
- subscriptionType 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.
- subscriptionType 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.