Module AutoScaling.ScalingPolicy

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html

type metric_dimension = {
  1. value : string;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html

and predictive_scaling_predefined_scaling_metric = {
  1. predefined_metric_type : string;
  2. resource_label : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html

and predictive_scaling_predefined_metric_pair = {
  1. predefined_metric_type : string;
  2. resource_label : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html

and predefined_metric_specification = {
  1. predefined_metric_type : string;
  2. resource_label : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html

and predictive_scaling_predefined_load_metric = {
  1. predefined_metric_type : string;
  2. resource_label : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html

and step_adjustment = {
  1. metric_interval_upper_bound : float option;
  2. metric_interval_lower_bound : float option;
  3. scaling_adjustment : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html

and customized_metric_specification = {
  1. metric_name : string;
  2. statistic : string;
  3. dimensions : metric_dimension list option;
  4. unit : string option;
  5. namespace : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html

and metric = {
  1. metric_name : string;
  2. dimensions : metric_dimension list option;
  3. namespace : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metric.html

and target_tracking_configuration = {
  1. target_value : float;
  2. customized_metric_specification : customized_metric_specification option;
  3. disable_scale_in : bool option;
  4. predefined_metric_specification : predefined_metric_specification option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html

and metric_stat = {
  1. stat : string;
  2. metric : metric;
  3. unit : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricstat.html

and metric_data_query = {
  1. return_data : bool option;
  2. expression : string option;
  3. label : string option;
  4. metric_stat : metric_stat option;
  5. id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html

and predictive_scaling_customized_scaling_metric = {
  1. metric_data_queries : metric_data_query list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html

and predictive_scaling_customized_load_metric = {
  1. metric_data_queries : metric_data_query list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedloadmetric.html

and predictive_scaling_customized_capacity_metric = {
  1. metric_data_queries : metric_data_query list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric.html

and predictive_scaling_metric_specification = {
  1. customized_load_metric_specification : predictive_scaling_customized_load_metric option;
  2. predefined_load_metric_specification : predictive_scaling_predefined_load_metric option;
  3. target_value : float;
  4. predefined_scaling_metric_specification : predictive_scaling_predefined_scaling_metric option;
  5. customized_capacity_metric_specification : predictive_scaling_customized_capacity_metric option;
  6. customized_scaling_metric_specification : predictive_scaling_customized_scaling_metric option;
  7. predefined_metric_pair_specification : predictive_scaling_predefined_metric_pair option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html

and predictive_scaling_configuration = {
  1. max_capacity_breach_behavior : string option;
  2. max_capacity_buffer : int option;
  3. mode : string option;
  4. metric_specifications : predictive_scaling_metric_specification list;
  5. scheduling_buffer_time : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html

type properties = {
  1. metric_aggregation_type : string option;
  2. policy_type : string option;
  3. predictive_scaling_configuration : predictive_scaling_configuration option;
  4. scaling_adjustment : int option;
  5. cooldown : string option;
  6. step_adjustments : step_adjustment list option;
  7. auto_scaling_group_name : string;
  8. min_adjustment_magnitude : int option;
  9. target_tracking_configuration : target_tracking_configuration option;
  10. estimated_instance_warmup : int option;
  11. adjustment_type : string option;
}

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

val make_properties : ?metric_aggregation_type:string -> ?policy_type:string -> ?predictive_scaling_configuration:predictive_scaling_configuration -> ?scaling_adjustment:int -> ?cooldown:string -> ?step_adjustments:step_adjustment list -> auto_scaling_group_name:string -> ?min_adjustment_magnitude:int -> ?target_tracking_configuration:target_tracking_configuration -> ?estimated_instance_warmup:int -> ?adjustment_type:string -> unit -> properties
val make_metric_dimension : value:string -> name:string -> unit -> metric_dimension
val make_predictive_scaling_predefined_scaling_metric : predefined_metric_type:string -> ?resource_label:string -> unit -> predictive_scaling_predefined_scaling_metric
val make_predictive_scaling_predefined_metric_pair : predefined_metric_type:string -> ?resource_label:string -> unit -> predictive_scaling_predefined_metric_pair
val make_predefined_metric_specification : predefined_metric_type:string -> ?resource_label:string -> unit -> predefined_metric_specification
val make_predictive_scaling_predefined_load_metric : predefined_metric_type:string -> ?resource_label:string -> unit -> predictive_scaling_predefined_load_metric
val make_step_adjustment : ?metric_interval_upper_bound:float -> ?metric_interval_lower_bound:float -> scaling_adjustment:int -> unit -> step_adjustment
val make_customized_metric_specification : metric_name:string -> statistic:string -> ?dimensions:metric_dimension list -> ?unit:string -> namespace:string -> unit -> customized_metric_specification
val make_metric : metric_name:string -> ?dimensions:metric_dimension list -> namespace:string -> unit -> metric
val make_target_tracking_configuration : target_value:float -> ?customized_metric_specification:customized_metric_specification -> ?disable_scale_in:bool -> ?predefined_metric_specification:predefined_metric_specification -> unit -> target_tracking_configuration
val make_metric_stat : stat:string -> metric:metric -> ?unit:string -> unit -> metric_stat
val make_metric_data_query : ?return_data:bool -> ?expression:string -> ?label:string -> ?metric_stat:metric_stat -> id:string -> unit -> metric_data_query
val make_predictive_scaling_customized_scaling_metric : metric_data_queries:metric_data_query list -> unit -> predictive_scaling_customized_scaling_metric
val make_predictive_scaling_customized_load_metric : metric_data_queries:metric_data_query list -> unit -> predictive_scaling_customized_load_metric
val make_predictive_scaling_customized_capacity_metric : metric_data_queries:metric_data_query list -> unit -> predictive_scaling_customized_capacity_metric
val make_predictive_scaling_metric_specification : ?customized_load_metric_specification: predictive_scaling_customized_load_metric -> ?predefined_load_metric_specification: predictive_scaling_predefined_load_metric -> target_value:float -> ?predefined_scaling_metric_specification: predictive_scaling_predefined_scaling_metric -> ?customized_capacity_metric_specification: predictive_scaling_customized_capacity_metric -> ?customized_scaling_metric_specification: predictive_scaling_customized_scaling_metric -> ?predefined_metric_pair_specification: predictive_scaling_predefined_metric_pair -> unit -> predictive_scaling_metric_specification
val make_predictive_scaling_configuration : ?max_capacity_breach_behavior:string -> ?max_capacity_buffer:int -> ?mode:string -> metric_specifications:predictive_scaling_metric_specification list -> ?scheduling_buffer_time:int -> unit -> predictive_scaling_configuration
val yojson_of_metric_dimension : metric_dimension -> Yojson.Safe.t
val yojson_of_predictive_scaling_predefined_scaling_metric : predictive_scaling_predefined_scaling_metric -> Yojson.Safe.t
val yojson_of_predictive_scaling_predefined_metric_pair : predictive_scaling_predefined_metric_pair -> Yojson.Safe.t
val yojson_of_predefined_metric_specification : predefined_metric_specification -> Yojson.Safe.t
val yojson_of_predictive_scaling_predefined_load_metric : predictive_scaling_predefined_load_metric -> Yojson.Safe.t
val yojson_of_step_adjustment : step_adjustment -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_customized_metric_specification : customized_metric_specification -> Yojson.Safe.t
val yojson_of_metric : metric -> Yojson.Safe.t
val yojson_of_target_tracking_configuration : target_tracking_configuration -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_metric_stat : metric_stat -> Yojson.Safe.t
val yojson_of_metric_data_query : metric_data_query -> Yojson.Safe.t
val yojson_of_predictive_scaling_customized_scaling_metric : predictive_scaling_customized_scaling_metric -> Yojson.Safe.t
val yojson_of_predictive_scaling_customized_load_metric : predictive_scaling_customized_load_metric -> Yojson.Safe.t
val yojson_of_predictive_scaling_customized_capacity_metric : predictive_scaling_customized_capacity_metric -> Yojson.Safe.t
val yojson_of_predictive_scaling_metric_specification : predictive_scaling_metric_specification -> Yojson.Safe.t
val yojson_of_predictive_scaling_configuration : predictive_scaling_configuration -> [> `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. policy_name : string;
  3. arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string