Module Budgets.Budget

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html

type time_period = {
  1. start : string option;
  2. end_ : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html

and subscriber = {
  1. subscription_type : string;
  2. address : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html

and spend = {
  1. amount : float;
  2. unit : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html

and cost_types = {
  1. include_support : bool option;
  2. include_other_subscription : bool option;
  3. include_tax : bool option;
  4. include_subscription : bool option;
  5. use_blended : bool option;
  6. include_upfront : bool option;
  7. include_discount : bool option;
  8. include_credit : bool option;
  9. include_recurring : bool option;
  10. use_amortized : bool option;
  11. include_refund : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html

and notification = {
  1. comparison_operator : string;
  2. notification_type : string;
  3. threshold : float;
  4. threshold_type : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html

and historical_options = {
  1. budget_adjustment_period : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-historicaloptions.html

and auto_adjust_data = {
  1. auto_adjust_type : string;
  2. historical_options : historical_options option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-autoadjustdata.html

and notification_with_subscribers = {
  1. subscribers : subscriber list;
  2. notification : notification;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html

and budget_data = {
  1. budget_limit : spend option;
  2. time_period : time_period option;
  3. auto_adjust_data : auto_adjust_data option;
  4. time_unit : string;
  5. planned_budget_limits : Yojson.Safe.t option;
  6. cost_filters : Yojson.Safe.t option;
  7. budget_name : string option;
  8. cost_types : cost_types option;
  9. budget_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html

type properties = {
  1. notifications_with_subscribers : notification_with_subscribers list option;
  2. budget : budget_data;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html;

val make_properties : ?notifications_with_subscribers:notification_with_subscribers list -> budget:budget_data -> unit -> properties
val make_time_period : ?start:string -> ?end_:string -> unit -> time_period
val make_subscriber : subscription_type:string -> address:string -> unit -> subscriber
val make_spend : amount:float -> unit:string -> unit -> spend
val make_cost_types : ?include_support:bool -> ?include_other_subscription:bool -> ?include_tax:bool -> ?include_subscription:bool -> ?use_blended:bool -> ?include_upfront:bool -> ?include_discount:bool -> ?include_credit:bool -> ?include_recurring:bool -> ?use_amortized:bool -> ?include_refund:bool -> unit -> cost_types
val make_notification : comparison_operator:string -> notification_type:string -> threshold:float -> ?threshold_type:string -> unit -> notification
val make_historical_options : budget_adjustment_period:int -> unit -> historical_options
val make_auto_adjust_data : auto_adjust_type:string -> ?historical_options:historical_options -> unit -> auto_adjust_data
val make_notification_with_subscribers : subscribers:subscriber list -> notification:notification -> unit -> notification_with_subscribers
val make_budget_data : ?budget_limit:spend -> ?time_period:time_period -> ?auto_adjust_data:auto_adjust_data -> time_unit:string -> ?planned_budget_limits:Yojson.Safe.t -> ?cost_filters:Yojson.Safe.t -> ?budget_name:string -> ?cost_types:cost_types -> budget_type:string -> unit -> budget_data
val yojson_of_time_period : time_period -> Yojson.Safe.t
val yojson_of_subscriber : subscriber -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_spend : spend -> Yojson.Safe.t
val yojson_of_cost_types : cost_types -> Yojson.Safe.t
val yojson_of_notification : notification -> [> `Assoc of (string * Yojson.Safe.t) list | `List of [> `Assoc of (string * Yojson.Safe.t) list ] list ]
val yojson_of_historical_options : historical_options -> Yojson.Safe.t
val yojson_of_auto_adjust_data : auto_adjust_data -> Yojson.Safe.t
val yojson_of_notification_with_subscribers : notification_with_subscribers -> [> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list | `List of [> `Assoc of (string * Yojson.Safe.t) list ] list ]) list ]
val yojson_of_budget_data : budget_data -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string