import * as core from "@terrascript/core"; export interface ActionThresholdArgs extends core.SchemaArgs { actionThresholdType: string | core.StringOut; actionThresholdValue: number | core.NumberOut; } export declare class ActionThreshold extends core.Schema { actionThresholdType: string | core.StringOut; actionThresholdValue: number | core.NumberOut; } export interface SubscriberArgs extends core.SchemaArgs { address: string | core.StringOut; subscriptionType: string | core.StringOut; } export declare class Subscriber extends core.Schema { address: string | core.StringOut; subscriptionType: string | core.StringOut; } export interface IamActionDefinitionArgs extends core.SchemaArgs { groups?: core.Array | core.ArrayOut; policyArn: string | core.StringOut; roles?: core.Array | core.ArrayOut; users?: core.Array | core.ArrayOut; } export declare class IamActionDefinition extends core.Schema { groups?: core.Array | core.ArrayOut; policyArn: string | core.StringOut; roles?: core.Array | core.ArrayOut; users?: core.Array | core.ArrayOut; } export interface SsmActionDefinitionArgs extends core.SchemaArgs { actionSubType: string | core.StringOut; instanceIds: core.Array | core.ArrayOut; region: string | core.StringOut; } export declare class SsmActionDefinition extends core.Schema { actionSubType: string | core.StringOut; instanceIds: core.Array | core.ArrayOut; region: string | core.StringOut; } export interface ScpActionDefinitionArgs extends core.SchemaArgs { policyId: string | core.StringOut; targetIds: core.Array | core.ArrayOut; } export declare class ScpActionDefinition extends core.Schema { policyId: string | core.StringOut; targetIds: core.Array | core.ArrayOut; } export interface DefinitionArgs extends core.SchemaArgs { iamActionDefinition?: IamActionDefinition; scpActionDefinition?: ScpActionDefinition; ssmActionDefinition?: SsmActionDefinition; } export declare class Definition extends core.Schema { iamActionDefinition?: IamActionDefinition; scpActionDefinition?: ScpActionDefinition; ssmActionDefinition?: SsmActionDefinition; } export interface BudgetActionArgs extends core.ResourceArgs { /** * (Optional) The ID of the target account for budget. Will use current user's account_id by default if * omitted. */ accountId?: string | core.StringOut; /** * (Required) The trigger threshold of the action. See [Action Threshold](#action-threshold). */ actionThreshold: ActionThreshold; /** * (Required) 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`, and `RUN_SSM_DOCUMENTS`. */ actionType: string | core.StringOut; /** * (Required) This specifies if the action needs manual or automatic approval. Valid values are `AUTOMA * TIC` and `MANUAL`. */ approvalModel: string | core.StringOut; /** * (Required) The name of a budget. */ budgetName: string | core.StringOut; /** * (Required) Specifies all of the type-specific parameters. See [Definition](#definition). */ definition: Definition; /** * (Required) The role passed for action execution and reversion. Roles and actions must be in the same * account. */ executionRoleArn: string | core.StringOut; /** * (Required) The type of a notification. Valid values are `ACTUAL` or `FORECASTED`. */ notificationType: string | core.StringOut; /** * (Required) A list of subscribers. See [Subscriber](#subscriber). */ subscriber: core.Array | core.ArrayOut; } export declare class BudgetAction extends core.Resource { /** * (Optional) The ID of the target account for budget. Will use current user's account_id by default if * omitted. */ accountId?: string | core.StringOut; /** * The id of the budget action. */ actionId: string | core.StringOut; /** * (Required) The trigger threshold of the action. See [Action Threshold](#action-threshold). */ actionThreshold: ActionThreshold; /** * (Required) 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`, and `RUN_SSM_DOCUMENTS`. */ actionType: string | core.StringOut; /** * (Required) This specifies if the action needs manual or automatic approval. Valid values are `AUTOMA * TIC` and `MANUAL`. */ approvalModel: string | core.StringOut; /** * The ARN of the budget action. */ arn: string | core.StringOut; /** * (Required) The name of a budget. */ budgetName: string | core.StringOut; /** * (Required) Specifies all of the type-specific parameters. See [Definition](#definition). */ definition: Definition; /** * (Required) The role passed for action execution and reversion. Roles and actions must be in the same * account. */ executionRoleArn: string | core.StringOut; /** * ID of resource. */ id: string | core.StringOut; /** * (Required) The type of a notification. Valid values are `ACTUAL` or `FORECASTED`. */ notificationType: string | core.StringOut; /** * The status of the budget action. */ status: string | core.StringOut; /** * (Required) A list of subscribers. See [Subscriber](#subscriber). */ subscriber: core.Array | core.ArrayOut; constructor(name: string, args?: BudgetActionArgs); getNamespace(): string; } //# sourceMappingURL=budget_action.d.ts.map