import * as core from "@terrascript/core"; export interface NotificationArgs extends core.SchemaArgs { comparisonOperator: string | core.StringOut; notificationType: string | core.StringOut; subscriberEmailAddresses?: core.Array | core.ArrayOut; subscriberSnsTopicArns?: core.Array | core.ArrayOut; threshold: number | core.NumberOut; thresholdType: string | core.StringOut; } export declare class Notification extends core.Schema { comparisonOperator: string | core.StringOut; notificationType: string | core.StringOut; subscriberEmailAddresses?: core.Array | core.ArrayOut; subscriberSnsTopicArns?: core.Array | core.ArrayOut; threshold: number | core.NumberOut; thresholdType: string | core.StringOut; } export interface CostTypesArgs extends core.SchemaArgs { includeCredit?: boolean | core.BooleanOut; includeDiscount?: boolean | core.BooleanOut; includeOtherSubscription?: boolean | core.BooleanOut; includeRecurring?: boolean | core.BooleanOut; includeRefund?: boolean | core.BooleanOut; includeSubscription?: boolean | core.BooleanOut; includeSupport?: boolean | core.BooleanOut; includeTax?: boolean | core.BooleanOut; includeUpfront?: boolean | core.BooleanOut; useAmortized?: boolean | core.BooleanOut; useBlended?: boolean | core.BooleanOut; } export declare class CostTypes extends core.Schema { includeCredit?: boolean | core.BooleanOut; includeDiscount?: boolean | core.BooleanOut; includeOtherSubscription?: boolean | core.BooleanOut; includeRecurring?: boolean | core.BooleanOut; includeRefund?: boolean | core.BooleanOut; includeSubscription?: boolean | core.BooleanOut; includeSupport?: boolean | core.BooleanOut; includeTax?: boolean | core.BooleanOut; includeUpfront?: boolean | core.BooleanOut; useAmortized?: boolean | core.BooleanOut; useBlended?: boolean | core.BooleanOut; } export interface CostFilterArgs extends core.SchemaArgs { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export declare class CostFilter extends core.Schema { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export interface BudgetArgs 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) Whether this budget tracks monetary cost or usage. */ budgetType: string | core.StringOut; /** * (Optional) A list of [CostFilter](#cost-filter) name/values pair to apply to budget. */ costFilter?: core.Array | core.ArrayOut; /** * (Optional, **Deprecated**) Map of [CostFilters](#cost-filters) key/value pairs to apply to the budge * t. */ costFilters?: core.Map | core.MapOut; /** * (Optional) Object containing [CostTypes](#cost-types) The types of cost included in a budget, such a * s tax and subscriptions. */ costTypes?: CostTypes; /** * (Required) The amount of cost or usage being measured for a budget. */ limitAmount: string | core.StringOut; /** * (Required) The unit of measurement used for the budget forecast, actual spend, or budget threshold, * such as dollars or GB. See [Spend](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/data- * type-spend.html) documentation. */ limitUnit: string | core.StringOut; /** * (Optional) The name of a budget. Unique within accounts. */ name?: string | core.StringOut; /** * (Optional) The prefix of the name of a budget. Unique within accounts. */ namePrefix?: string | core.StringOut; /** * (Optional) Object containing [Budget Notifications](#budget-notification). Can be used multiple time * s to define more than one budget notification */ notification?: core.Array | core.ArrayOut; /** * (Optional) The end of the time period covered by the budget. There are no restrictions on the end da * te. Format: `2017-01-01_12:00`. */ timePeriodEnd?: string | core.StringOut; /** * (Optional) The start of the time period covered by the budget. If you don't specify a start date, AW * S defaults to the start of your chosen time period. The start date must come before the end date. Fo * rmat: `2017-01-01_12:00`. */ timePeriodStart?: string | core.StringOut; /** * (Required) The length of time until a budget resets the actual and forecasted spend. Valid values: ` * MONTHLY`, `QUARTERLY`, `ANNUALLY`, and `DAILY`. */ timeUnit: string | core.StringOut; } export declare class Budget 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 ARN of the budget. */ arn: string | core.StringOut; /** * (Required) Whether this budget tracks monetary cost or usage. */ budgetType: string | core.StringOut; /** * (Optional) A list of [CostFilter](#cost-filter) name/values pair to apply to budget. */ costFilter?: core.Array | core.ArrayOut; /** * (Optional, **Deprecated**) Map of [CostFilters](#cost-filters) key/value pairs to apply to the budge * t. */ costFilters?: core.Map | core.MapOut; /** * (Optional) Object containing [CostTypes](#cost-types) The types of cost included in a budget, such a * s tax and subscriptions. */ costTypes?: CostTypes; /** * id of resource. */ id: string | core.StringOut; /** * (Required) The amount of cost or usage being measured for a budget. */ limitAmount: string | core.StringOut; /** * (Required) The unit of measurement used for the budget forecast, actual spend, or budget threshold, * such as dollars or GB. See [Spend](http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/data- * type-spend.html) documentation. */ limitUnit: string | core.StringOut; /** * (Optional) The name of a budget. Unique within accounts. */ name?: string | core.StringOut; /** * (Optional) The prefix of the name of a budget. Unique within accounts. */ namePrefix?: string | core.StringOut; /** * (Optional) Object containing [Budget Notifications](#budget-notification). Can be used multiple time * s to define more than one budget notification */ notification?: core.Array | core.ArrayOut; /** * (Optional) The end of the time period covered by the budget. There are no restrictions on the end da * te. Format: `2017-01-01_12:00`. */ timePeriodEnd?: string | core.StringOut; /** * (Optional) The start of the time period covered by the budget. If you don't specify a start date, AW * S defaults to the start of your chosen time period. The start date must come before the end date. Fo * rmat: `2017-01-01_12:00`. */ timePeriodStart?: string | core.StringOut; /** * (Required) The length of time until a budget resets the actual and forecasted spend. Valid values: ` * MONTHLY`, `QUARTERLY`, `ANNUALLY`, and `DAILY`. */ timeUnit: string | core.StringOut; constructor(name: string, args?: BudgetArgs); getNamespace(): string; } //# sourceMappingURL=budget.d.ts.map