Module EMR.Cluster

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html

type tag = {
  1. key : string;
  2. value : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

and 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-elasticmapreduce-cluster-volumespecification.html

and spot_provisioning_specification = {
  1. allocation_strategy : string option;
  2. block_duration_minutes : int option;
  3. timeout_action : string;
  4. timeout_duration_minutes : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.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-cluster-simplescalingpolicyconfiguration.html

and script_bootstrap_action_config = {
  1. args : string list option;
  2. path : string;
}

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

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

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

and placement_type = {
  1. availability_zone : string;
}

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

and placement_group_config = {
  1. instance_role : string;
  2. placement_strategy : string option;
}

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

and on_demand_provisioning_specification = {
  1. allocation_strategy : string;
}

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

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

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

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

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

and kerberos_attributes = {
  1. ad_domain_join_password : string option;
  2. ad_domain_join_user : string option;
  3. cross_realm_trust_principal_password : string option;
  4. kdc_admin_password : string;
  5. realm : string;
}

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

and compute_limits = {
  1. maximum_capacity_units : int;
  2. maximum_core_capacity_units : int option;
  3. maximum_on_demand_capacity_units : int option;
  4. minimum_capacity_units : int;
  5. unit_type : string;
}

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

and auto_termination_policy = {
  1. idle_timeout : int64 option;
}

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

and application = {
  1. additional_info : string Stdlib__Map.Make(Stdlib.String).t option;
  2. args : string list option;
  3. name : string option;
  4. version : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.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-cluster-scalingaction.html

and managed_scaling_policy = {
  1. compute_limits : compute_limits option;
}

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

and instance_fleet_provisioning_specifications = {
  1. on_demand_specification : on_demand_provisioning_specification option;
  2. spot_specification : spot_provisioning_specification option;
}

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

and hadoop_jar_step_config = {
  1. args : string list option;
  2. jar : string;
  3. main_class : string option;
  4. step_properties : key_value list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.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-elasticmapreduce-cluster-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-elasticmapreduce-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-cluster-cloudwatchalarmdefinition.html

and bootstrap_action_config = {
  1. name : string;
  2. script_bootstrap_action : script_bootstrap_action_config;
}

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

and step_config = {
  1. action_on_failure : string option;
  2. hadoop_jar_step : hadoop_jar_step_config;
  3. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.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-cluster-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-elasticmapreduce-cluster-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-cluster-scalingrule.html

and instance_type_config = {
  1. bid_price : string option;
  2. bid_price_as_percentage_of_on_demand_price : float option;
  3. configurations : configuration list option;
  4. custom_ami_id : string option;
  5. ebs_configuration : ebs_configuration option;
  6. instance_type : string;
  7. weighted_capacity : int option;
}

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

and instance_fleet_config = {
  1. instance_type_configs : instance_type_config list option;
  2. launch_specifications : instance_fleet_provisioning_specifications option;
  3. name : string option;
  4. target_on_demand_capacity : int option;
  5. target_spot_capacity : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.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-cluster-autoscalingpolicy.html

and instance_group_config = {
  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_type : string;
  8. market : string option;
  9. name : string option;
}

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

and job_flow_instances_config = {
  1. additional_master_security_groups : string list option;
  2. additional_slave_security_groups : string list option;
  3. core_instance_fleet : instance_fleet_config option;
  4. core_instance_group : instance_group_config option;
  5. ec2_key_name : string option;
  6. ec2_subnet_id : string option;
  7. ec2_subnet_ids : string list option;
  8. emr_managed_master_security_group : string option;
  9. emr_managed_slave_security_group : string option;
  10. hadoop_version : string option;
  11. keep_job_flow_alive_when_no_steps : bool option;
  12. master_instance_fleet : instance_fleet_config option;
  13. master_instance_group : instance_group_config option;
  14. placement : placement_type option;
  15. service_access_security_group : string option;
  16. task_instance_fleets : instance_fleet_config list option;
  17. task_instance_groups : instance_group_config list option;
  18. termination_protected : bool option;
  19. unhealthy_node_replacement : bool option;
}

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

type properties = {
  1. additional_info : Yojson.Safe.t option;
  2. applications : application list option;
  3. auto_scaling_role : string option;
  4. auto_termination_policy : auto_termination_policy option;
  5. bootstrap_actions : bootstrap_action_config list option;
  6. configurations : configuration list option;
  7. custom_ami_id : string option;
  8. ebs_root_volume_iops : int option;
  9. ebs_root_volume_size : int option;
  10. ebs_root_volume_throughput : int option;
  11. instances : job_flow_instances_config;
  12. job_flow_role : string;
  13. kerberos_attributes : kerberos_attributes option;
  14. log_encryption_kms_key_id : string option;
  15. log_uri : string option;
  16. managed_scaling_policy : managed_scaling_policy option;
  17. name : string;
  18. os_release_label : string option;
  19. placement_group_configs : placement_group_config list option;
  20. release_label : string option;
  21. scale_down_behavior : string option;
  22. security_configuration : string option;
  23. service_role : string;
  24. step_concurrency_level : int option;
  25. steps : step_config list option;
  26. tags : tag list option;
  27. visible_to_all_users : bool option;
}

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

val make_properties : ?additional_info:Yojson.Safe.t -> ?applications:application list -> ?auto_scaling_role:string -> ?auto_termination_policy:auto_termination_policy -> ?bootstrap_actions:bootstrap_action_config list -> ?configurations:configuration list -> ?custom_ami_id:string -> ?ebs_root_volume_iops:int -> ?ebs_root_volume_size:int -> ?ebs_root_volume_throughput:int -> instances:job_flow_instances_config -> job_flow_role:string -> ?kerberos_attributes:kerberos_attributes -> ?log_encryption_kms_key_id:string -> ?log_uri:string -> ?managed_scaling_policy:managed_scaling_policy -> name:string -> ?os_release_label:string -> ?placement_group_configs:placement_group_config list -> ?release_label:string -> ?scale_down_behavior:string -> ?security_configuration:string -> service_role:string -> ?step_concurrency_level:int -> ?steps:step_config list -> ?tags:tag list -> ?visible_to_all_users:bool -> unit -> properties
val make_tag : key:string -> value:string -> unit -> tag
val make_volume_specification : ?iops:int -> size_in_gb:int -> ?throughput:int -> volume_type:string -> unit -> volume_specification
val make_spot_provisioning_specification : ?allocation_strategy:string -> ?block_duration_minutes:int -> timeout_action:string -> timeout_duration_minutes:int -> unit -> spot_provisioning_specification
val make_simple_scaling_policy_configuration : ?adjustment_type:string -> ?cool_down:int -> scaling_adjustment:int -> unit -> simple_scaling_policy_configuration
val make_script_bootstrap_action_config : ?args:string list -> path:string -> unit -> script_bootstrap_action_config
val make_scaling_constraints : max_capacity:int -> min_capacity:int -> unit -> scaling_constraints
val make_placement_type : availability_zone:string -> unit -> placement_type
val make_placement_group_config : instance_role:string -> ?placement_strategy:string -> unit -> placement_group_config
val make_on_demand_provisioning_specification : allocation_strategy:string -> unit -> on_demand_provisioning_specification
val make_metric_dimension : key:string -> value:string -> unit -> metric_dimension
val make_key_value : ?key:string -> ?value:string -> unit -> key_value
val make_kerberos_attributes : ?ad_domain_join_password:string -> ?ad_domain_join_user:string -> ?cross_realm_trust_principal_password:string -> kdc_admin_password:string -> realm:string -> unit -> kerberos_attributes
val make_compute_limits : maximum_capacity_units:int -> ?maximum_core_capacity_units:int -> ?maximum_on_demand_capacity_units:int -> minimum_capacity_units:int -> unit_type:string -> unit -> compute_limits
val make_auto_termination_policy : ?idle_timeout:int64 -> unit -> auto_termination_policy
val make_application : ?additional_info:string Stdlib__Map.Make(Stdlib.String).t -> ?args:string list -> ?name:string -> ?version:string -> unit -> application
val make_scaling_action : ?market:string -> simple_scaling_policy_configuration:simple_scaling_policy_configuration -> unit -> scaling_action
val make_managed_scaling_policy : ?compute_limits:compute_limits -> unit -> managed_scaling_policy
val make_instance_fleet_provisioning_specifications : ?on_demand_specification:on_demand_provisioning_specification -> ?spot_specification:spot_provisioning_specification -> unit -> instance_fleet_provisioning_specifications
val make_hadoop_jar_step_config : ?args:string list -> jar:string -> ?main_class:string -> ?step_properties:key_value list -> unit -> hadoop_jar_step_config
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_bootstrap_action_config : name:string -> script_bootstrap_action:script_bootstrap_action_config -> unit -> bootstrap_action_config
val make_step_config : ?action_on_failure:string -> hadoop_jar_step:hadoop_jar_step_config -> name:string -> unit -> step_config
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_instance_type_config : ?bid_price:string -> ?bid_price_as_percentage_of_on_demand_price:float -> ?configurations:configuration list -> ?custom_ami_id:string -> ?ebs_configuration:ebs_configuration -> instance_type:string -> ?weighted_capacity:int -> unit -> instance_type_config
val make_instance_fleet_config : ?instance_type_configs:instance_type_config list -> ?launch_specifications:instance_fleet_provisioning_specifications -> ?name:string -> ?target_on_demand_capacity:int -> ?target_spot_capacity:int -> unit -> instance_fleet_config
val make_auto_scaling_policy : constraints:scaling_constraints -> rules:scaling_rule list -> unit -> auto_scaling_policy
val make_instance_group_config : ?auto_scaling_policy:auto_scaling_policy -> ?bid_price:string -> ?configurations:configuration list -> ?custom_ami_id:string -> ?ebs_configuration:ebs_configuration -> instance_count:int -> instance_type:string -> ?market:string -> ?name:string -> unit -> instance_group_config
val make_job_flow_instances_config : ?additional_master_security_groups:string list -> ?additional_slave_security_groups:string list -> ?core_instance_fleet:instance_fleet_config -> ?core_instance_group:instance_group_config -> ?ec2_key_name:string -> ?ec2_subnet_id:string -> ?ec2_subnet_ids:string list -> ?emr_managed_master_security_group:string -> ?emr_managed_slave_security_group:string -> ?hadoop_version:string -> ?keep_job_flow_alive_when_no_steps:bool -> ?master_instance_fleet:instance_fleet_config -> ?master_instance_group:instance_group_config -> ?placement:placement_type -> ?service_access_security_group:string -> ?task_instance_fleets:instance_fleet_config list -> ?task_instance_groups:instance_group_config list -> ?termination_protected:bool -> ?unhealthy_node_replacement:bool -> unit -> job_flow_instances_config
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_volume_specification : volume_specification -> Yojson.Safe.t
val yojson_of_spot_provisioning_specification : spot_provisioning_specification -> Yojson.Safe.t
val yojson_of_simple_scaling_policy_configuration : simple_scaling_policy_configuration -> Yojson.Safe.t
val yojson_of_script_bootstrap_action_config : script_bootstrap_action_config -> Yojson.Safe.t
val yojson_of_scaling_constraints : scaling_constraints -> Yojson.Safe.t
val yojson_of_placement_type : placement_type -> Yojson.Safe.t
val yojson_of_placement_group_config : placement_group_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_on_demand_provisioning_specification : on_demand_provisioning_specification -> Yojson.Safe.t
val yojson_of_metric_dimension : metric_dimension -> Yojson.Safe.t
val yojson_of_key_value : key_value -> Yojson.Safe.t
val yojson_of_kerberos_attributes : kerberos_attributes -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_compute_limits : compute_limits -> Yojson.Safe.t
val yojson_of_auto_termination_policy : auto_termination_policy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_application : application -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_scaling_action : scaling_action -> Yojson.Safe.t
val yojson_of_managed_scaling_policy : managed_scaling_policy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_instance_fleet_provisioning_specifications : instance_fleet_provisioning_specifications -> Yojson.Safe.t
val yojson_of_hadoop_jar_step_config : hadoop_jar_step_config -> 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_bootstrap_action_config : bootstrap_action_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_step_config : step_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_scaling_trigger : scaling_trigger -> Yojson.Safe.t
val yojson_of_ebs_configuration : ebs_configuration -> Yojson.Safe.t
val yojson_of_scaling_rule : scaling_rule -> Yojson.Safe.t
val yojson_of_instance_type_config : instance_type_config -> Yojson.Safe.t
val yojson_of_instance_fleet_config : instance_fleet_config -> Yojson.Safe.t
val yojson_of_auto_scaling_policy : auto_scaling_policy -> Yojson.Safe.t
val yojson_of_instance_group_config : instance_group_config -> Yojson.Safe.t
val yojson_of_job_flow_instances_config : job_flow_instances_config -> [> `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. master_public_dns : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string