Source code for troposphere.budgets

# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType
from .validators import boolean, double, integer


[docs]class HistoricalOptions(AWSProperty): """ `HistoricalOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-historicaloptions.html>`__ """ props: PropsDictType = { "BudgetAdjustmentPeriod": (integer, True), }
[docs]class AutoAdjustData(AWSProperty): """ `AutoAdjustData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-autoadjustdata.html>`__ """ props: PropsDictType = { "AutoAdjustType": (str, True), "HistoricalOptions": (HistoricalOptions, False), }
[docs]class CostTypes(AWSProperty): """ `CostTypes <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html>`__ """ props: PropsDictType = { "IncludeCredit": (boolean, False), "IncludeDiscount": (boolean, False), "IncludeOtherSubscription": (boolean, False), "IncludeRecurring": (boolean, False), "IncludeRefund": (boolean, False), "IncludeSubscription": (boolean, False), "IncludeSupport": (boolean, False), "IncludeTax": (boolean, False), "IncludeUpfront": (boolean, False), "UseAmortized": (boolean, False), "UseBlended": (boolean, False), }
[docs]class Spend(AWSProperty): """ `Spend <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html>`__ """ props: PropsDictType = { "Amount": (double, True), "Unit": (str, True), }
[docs]class TimePeriod(AWSProperty): """ `TimePeriod <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html>`__ """ props: PropsDictType = { "End": (str, False), "Start": (str, False), }
[docs]class BudgetData(AWSProperty): """ `BudgetData <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html>`__ """ props: PropsDictType = { "AutoAdjustData": (AutoAdjustData, False), "BudgetLimit": (Spend, False), "BudgetName": (str, False), "BudgetType": (str, True), "CostFilters": (dict, False), "CostTypes": (CostTypes, False), "PlannedBudgetLimits": (dict, False), "TimePeriod": (TimePeriod, False), "TimeUnit": (str, True), }
[docs]class Notification(AWSProperty): """ `Notification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html>`__ """ props: PropsDictType = { "ComparisonOperator": (str, True), "NotificationType": (str, True), "Threshold": (double, True), "ThresholdType": (str, False), }
[docs]class Subscriber(AWSProperty): """ `Subscriber <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html>`__ """ props: PropsDictType = { "Address": (str, True), "SubscriptionType": (str, True), }
[docs]class NotificationWithSubscribers(AWSProperty): """ `NotificationWithSubscribers <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html>`__ """ props: PropsDictType = { "Notification": (Notification, True), "Subscribers": ([Subscriber], True), }
[docs]class Budget(AWSObject): """ `Budget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html>`__ """ resource_type = "AWS::Budgets::Budget" props: PropsDictType = { "Budget": (BudgetData, True), "NotificationsWithSubscribers": ([NotificationWithSubscribers], False), }
[docs]class ActionSubscriber(AWSProperty): """ `ActionSubscriber <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-subscriber.html>`__ """ props: PropsDictType = { "Address": (str, True), "Type": (str, True), }
[docs]class ActionThreshold(AWSProperty): """ `ActionThreshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-actionthreshold.html>`__ """ props: PropsDictType = { "Type": (str, True), "Value": (double, True), }
[docs]class IamActionDefinition(AWSProperty): """ `IamActionDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-iamactiondefinition.html>`__ """ props: PropsDictType = { "Groups": ([str], False), "PolicyArn": (str, True), "Roles": ([str], False), "Users": ([str], False), }
[docs]class ScpActionDefinition(AWSProperty): """ `ScpActionDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-scpactiondefinition.html>`__ """ props: PropsDictType = { "PolicyId": (str, True), "TargetIds": ([str], True), }
[docs]class SsmActionDefinition(AWSProperty): """ `SsmActionDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-ssmactiondefinition.html>`__ """ props: PropsDictType = { "InstanceIds": ([str], True), "Region": (str, True), "Subtype": (str, True), }
[docs]class Definition(AWSProperty): """ `Definition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budgetsaction-definition.html>`__ """ props: PropsDictType = { "IamActionDefinition": (IamActionDefinition, False), "ScpActionDefinition": (ScpActionDefinition, False), "SsmActionDefinition": (SsmActionDefinition, False), }
[docs]class BudgetsAction(AWSObject): """ `BudgetsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html>`__ """ resource_type = "AWS::Budgets::BudgetsAction" props: PropsDictType = { "ActionThreshold": (ActionThreshold, True), "ActionType": (str, True), "ApprovalModel": (str, False), "BudgetName": (str, True), "Definition": (Definition, True), "ExecutionRoleArn": (str, True), "NotificationType": (str, True), "Subscribers": ([ActionSubscriber], True), }