Module GameLift.GameServerGroup

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html

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

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

and instance_definition = {
  1. weighted_capacity : string option;
  2. instance_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html

and target_tracking_configuration = {
  1. target_value : float;
}

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

and launch_template = {
  1. launch_template_name : string option;
  2. version : string option;
  3. launch_template_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html

and auto_scaling_policy = {
  1. target_tracking_configuration : target_tracking_configuration;
  2. estimated_instance_warmup : float option;
}

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

type properties = {
  1. auto_scaling_policy : auto_scaling_policy option;
  2. min_size : float option;
  3. delete_option : string option;
  4. balancing_strategy : string option;
  5. game_server_group_name : string;
  6. launch_template : launch_template option;
  7. game_server_protection_policy : string option;
  8. vpc_subnets : string list option;
  9. max_size : float option;
  10. instance_definitions : instance_definition list;
  11. role_arn : string;
  12. tags : tag list option;
}

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

val make_properties : ?auto_scaling_policy:auto_scaling_policy -> ?min_size:float -> ?delete_option:string -> ?balancing_strategy:string -> game_server_group_name:string -> ?launch_template:launch_template -> ?game_server_protection_policy:string -> ?vpc_subnets:string list -> ?max_size:float -> instance_definitions:instance_definition list -> role_arn:string -> ?tags:tag list -> unit -> properties
val make_tag : value:string -> key:string -> unit -> tag
val make_instance_definition : ?weighted_capacity:string -> instance_type:string -> unit -> instance_definition
val make_target_tracking_configuration : target_value:float -> unit -> target_tracking_configuration
val make_launch_template : ?launch_template_name:string -> ?version:string -> ?launch_template_id:string -> unit -> launch_template
val make_auto_scaling_policy : target_tracking_configuration:target_tracking_configuration -> ?estimated_instance_warmup:float -> unit -> auto_scaling_policy
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_instance_definition : instance_definition -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_target_tracking_configuration : target_tracking_configuration -> Yojson.Safe.t
val yojson_of_launch_template : launch_template -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_auto_scaling_policy : auto_scaling_policy -> [> `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. auto_scaling_group_arn : string;
  3. game_server_group_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string