Module Pinpoint.Segment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html

type recency = {
  1. duration : string;
  2. recency_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior-recency.html

and source_segments = {
  1. version : int option;
  2. id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups-sourcesegments.html

and coordinates = {
  1. latitude : float;
  2. longitude : float;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates.html

and attribute_dimension = {
  1. attribute_type : string option;
  2. values : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html

and set_dimension = {
  1. dimension_type : string option;
  2. values : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html

and behavior = {
  1. recency : recency option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior.html

and gps_point = {
  1. range_in_kilometers : float;
  2. coordinates : coordinates;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint.html

and demographic = {
  1. app_version : set_dimension option;
  2. device_type : set_dimension option;
  3. platform : set_dimension option;
  4. channel : set_dimension option;
  5. model : set_dimension option;
  6. make : set_dimension option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html

and location = {
  1. gps_point : gps_point option;
  2. country : set_dimension option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html

and segment_dimensions = {
  1. demographic : demographic option;
  2. metrics : Yojson.Safe.t option;
  3. attributes_ : Yojson.Safe.t option;
  4. behavior : behavior option;
  5. user_attributes : Yojson.Safe.t option;
  6. location : location option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html

and groups = {
  1. type_ : string option;
  2. source_type : string option;
  3. dimensions : segment_dimensions list option;
  4. source_segments : source_segments list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html

and segment_groups = {
  1. groups : groups list option;
  2. include_ : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html

type properties = {
  1. segment_groups : segment_groups option;
  2. dimensions : segment_dimensions option;
  3. application_id : string;
  4. tags : Yojson.Safe.t option;
  5. name : string;
}

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

val make_properties : ?segment_groups:segment_groups -> ?dimensions:segment_dimensions -> application_id:string -> ?tags:Yojson.Safe.t -> name:string -> unit -> properties
val make_recency : duration:string -> recency_type:string -> unit -> recency
val make_source_segments : ?version:int -> id:string -> unit -> source_segments
val make_coordinates : latitude:float -> longitude:float -> unit -> coordinates
val make_attribute_dimension : ?attribute_type:string -> ?values:string list -> unit -> attribute_dimension
val make_set_dimension : ?dimension_type:string -> ?values:string list -> unit -> set_dimension
val make_behavior : ?recency:recency -> unit -> behavior
val make_gps_point : range_in_kilometers:float -> coordinates:coordinates -> unit -> gps_point
val make_demographic : ?app_version:set_dimension -> ?device_type:set_dimension -> ?platform:set_dimension -> ?channel:set_dimension -> ?model:set_dimension -> ?make:set_dimension -> unit -> demographic
val make_location : ?gps_point:gps_point -> ?country:set_dimension -> unit -> location
val make_segment_dimensions : ?demographic:demographic -> ?metrics:Yojson.Safe.t -> ?attributes_:Yojson.Safe.t -> ?behavior:behavior -> ?user_attributes:Yojson.Safe.t -> ?location:location -> unit -> segment_dimensions
val make_groups : ?type_:string -> ?source_type:string -> ?dimensions:segment_dimensions list -> ?source_segments:source_segments list -> unit -> groups
val make_segment_groups : ?groups:groups list -> ?include_:string -> unit -> segment_groups
val yojson_of_recency : recency -> Yojson.Safe.t
val yojson_of_source_segments : source_segments -> Yojson.Safe.t
val yojson_of_coordinates : coordinates -> Yojson.Safe.t
val yojson_of_attribute_dimension : attribute_dimension -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_set_dimension : set_dimension -> Yojson.Safe.t
val yojson_of_behavior : behavior -> Yojson.Safe.t
val yojson_of_gps_point : gps_point -> Yojson.Safe.t
val yojson_of_demographic : demographic -> Yojson.Safe.t
val yojson_of_location : location -> Yojson.Safe.t
val yojson_of_segment_dimensions : segment_dimensions -> Yojson.Safe.t
val yojson_of_groups : groups -> Yojson.Safe.t
val yojson_of_segment_groups : segment_groups -> [> `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. segment_id : string;
  3. arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string