Module Budgets.BudgetsAction

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

type ssm_action_definition = {
  1. region : string;
  2. instance_ids : string list;
  3. subtype : string;
}

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

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

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

and scp_action_definition = {
  1. target_ids : string list;
  2. policy_id : string;
}

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

and action_threshold = {
  1. type_ : string;
  2. value : float;
}

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

and iam_action_definition = {
  1. policy_arn : string;
  2. groups : string list option;
  3. roles : string list option;
  4. users : string list option;
}

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

and definition = {
  1. ssm_action_definition : ssm_action_definition option;
  2. iam_action_definition : iam_action_definition option;
  3. scp_action_definition : scp_action_definition option;
}

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

type properties = {
  1. execution_role_arn : string;
  2. action_type : string;
  3. notification_type : string;
  4. action_threshold : action_threshold;
  5. definition : definition;
  6. approval_model : string option;
  7. subscribers : subscriber list;
  8. budget_name : string;
}

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

val make_properties : execution_role_arn:string -> action_type:string -> notification_type:string -> action_threshold:action_threshold -> definition:definition -> ?approval_model:string -> subscribers:subscriber list -> budget_name:string -> unit -> properties
val make_ssm_action_definition : region:string -> instance_ids:string list -> subtype:string -> unit -> ssm_action_definition
val make_subscriber : type_:string -> address:string -> unit -> subscriber
val make_scp_action_definition : target_ids:string list -> policy_id:string -> unit -> scp_action_definition
val make_action_threshold : type_:string -> value:float -> unit -> action_threshold
val make_iam_action_definition : policy_arn:string -> ?groups:string list -> ?roles:string list -> ?users:string list -> unit -> iam_action_definition
val make_definition : ?ssm_action_definition:ssm_action_definition -> ?iam_action_definition:iam_action_definition -> ?scp_action_definition:scp_action_definition -> unit -> definition
val yojson_of_ssm_action_definition : ssm_action_definition -> Yojson.Safe.t
val yojson_of_subscriber : subscriber -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_scp_action_definition : scp_action_definition -> Yojson.Safe.t
val yojson_of_action_threshold : action_threshold -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_iam_action_definition : iam_action_definition -> Yojson.Safe.t
val yojson_of_definition : definition -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. action_id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string