EMR.InstanceGroupConfig
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html
and scaling_action = {
market : string option;
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 = {
volume_specification : volume_specification;
volumes_per_instance : int option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html
and configuration = {
classification : string option;
configuration_properties : string Stdlib__Map.Make(Stdlib.String).t option;
configurations : configuration list option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html
and cloud_watch_alarm_definition = {
comparison_operator : string;
dimensions : metric_dimension list option;
evaluation_periods : int option;
metric_name : string;
namespace : string option;
period : int;
statistic : string option;
threshold : float;
unit : string option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html
and ebs_configuration = {
ebs_block_device_configs : ebs_block_device_config list option;
ebs_optimized : bool option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html
and scaling_rule = {
action : scaling_action;
description : string option;
name : string;
trigger : scaling_trigger;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html
type properties = {
auto_scaling_policy : auto_scaling_policy option;
bid_price : string option;
configurations : configuration list option;
custom_ami_id : string option;
ebs_configuration : ebs_configuration option;
instance_count : int;
instance_role : string;
instance_type : string;
job_flow_id : string;
market : string option;
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 ]
val create_attributes : string -> attributes