Module EMR.InstanceGroupConfig

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html

type volume_specification = {
  1. iops : int option;
  2. size_in_gb : int;
  3. throughput : int option;
  4. volume_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html

and simple_scaling_policy_configuration = {
  1. adjustment_type : string option;
  2. cool_down : int option;
  3. scaling_adjustment : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html

and scaling_constraints = {
  1. max_capacity : int;
  2. min_capacity : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html

and metric_dimension = {
  1. key : string;
  2. value : string;
}

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

and scaling_action = {
  1. market : string option;
  2. simple_scaling_policy_configuration : simple_scaling_policy_configuration;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html

and ebs_block_device_config = {
  1. volume_specification : volume_specification;
  2. volumes_per_instance : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html

and configuration = {
  1. classification : string option;
  2. configuration_properties : string Stdlib__Map.Make(Stdlib.String).t option;
  3. configurations : configuration list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html

and cloud_watch_alarm_definition = {
  1. comparison_operator : string;
  2. dimensions : metric_dimension list option;
  3. evaluation_periods : int option;
  4. metric_name : string;
  5. namespace : string option;
  6. period : int;
  7. statistic : string option;
  8. threshold : float;
  9. unit : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html

and scaling_trigger = {
  1. cloud_watch_alarm_definition : cloud_watch_alarm_definition;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html

and ebs_configuration = {
  1. ebs_block_device_configs : ebs_block_device_config list option;
  2. ebs_optimized : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html

and scaling_rule = {
  1. action : scaling_action;
  2. description : string option;
  3. name : string;
  4. trigger : scaling_trigger;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html

and auto_scaling_policy = {
  1. constraints : scaling_constraints;
  2. rules : scaling_rule list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html

type properties = {
  1. auto_scaling_policy : auto_scaling_policy option;
  2. bid_price : string option;
  3. configurations : configuration list option;
  4. custom_ami_id : string option;
  5. ebs_configuration : ebs_configuration option;
  6. instance_count : int;
  7. instance_role : string;
  8. instance_type : string;
  9. job_flow_id : string;
  10. market : string option;
  11. name : string option;
}

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

val make_properties : ?auto_scaling_policy:auto_scaling_policy -> ?bid_price:string -> ?configurations:configuration list -> ?custom_ami_id:string -> ?ebs_configuration:ebs_configuration -> instance_count:int -> instance_role:string -> instance_type:string -> job_flow_id:string -> ?market:string -> ?name:string -> unit -> properties
val make_volume_specification : ?iops:int -> size_in_gb:int -> ?throughput:int -> volume_type:string -> unit -> volume_specification
val make_simple_scaling_policy_configuration : ?adjustment_type:string -> ?cool_down:int -> scaling_adjustment:int -> unit -> simple_scaling_policy_configuration
val make_scaling_constraints : max_capacity:int -> min_capacity:int -> unit -> scaling_constraints
val make_metric_dimension : key:string -> value:string -> unit -> metric_dimension
val make_scaling_action : ?market:string -> simple_scaling_policy_configuration:simple_scaling_policy_configuration -> unit -> scaling_action
val make_ebs_block_device_config : volume_specification:volume_specification -> ?volumes_per_instance:int -> unit -> ebs_block_device_config
val make_configuration : ?classification:string -> ?configuration_properties:string Stdlib__Map.Make(Stdlib.String).t -> ?configurations:configuration list -> unit -> configuration
val make_cloud_watch_alarm_definition : comparison_operator:string -> ?dimensions:metric_dimension list -> ?evaluation_periods:int -> metric_name:string -> ?namespace:string -> period:int -> ?statistic:string -> threshold:float -> ?unit:string -> unit -> cloud_watch_alarm_definition
val make_scaling_trigger : cloud_watch_alarm_definition:cloud_watch_alarm_definition -> unit -> scaling_trigger
val make_ebs_configuration : ?ebs_block_device_configs:ebs_block_device_config list -> ?ebs_optimized:bool -> unit -> ebs_configuration
val make_scaling_rule : action:scaling_action -> ?description:string -> name:string -> trigger:scaling_trigger -> unit -> scaling_rule
val make_auto_scaling_policy : constraints:scaling_constraints -> rules:scaling_rule list -> unit -> auto_scaling_policy
val yojson_of_volume_specification : volume_specification -> Yojson.Safe.t
val yojson_of_simple_scaling_policy_configuration : simple_scaling_policy_configuration -> Yojson.Safe.t
val yojson_of_scaling_constraints : scaling_constraints -> [> `Assoc of (string * Yojson.Safe.t) list | `List of [> `Assoc of (string * Yojson.Safe.t) list ] list ]
val yojson_of_metric_dimension : metric_dimension -> Yojson.Safe.t
val yojson_of_scaling_action : scaling_action -> Yojson.Safe.t
val yojson_of_ebs_block_device_config : ebs_block_device_config -> Yojson.Safe.t
val yojson_of_configuration : configuration -> Yojson.Safe.t
val yojson_of_cloud_watch_alarm_definition : cloud_watch_alarm_definition -> Yojson.Safe.t
val yojson_of_scaling_trigger : scaling_trigger -> Yojson.Safe.t
val yojson_of_ebs_configuration : ebs_configuration -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_scaling_rule : scaling_rule -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_auto_scaling_policy : auto_scaling_policy -> [> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list | `List of [> `Assoc of (string * Yojson.Safe.t) list ] list ]) 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