Module Types.CreateCacheClusterMessage

type t = {
cache_cluster_id : Aws.BaseTypes.String.t;
replication_group_id : Aws.BaseTypes.String.t option;
a_z_mode : AZMode.t option;
preferred_availability_zone : Aws.BaseTypes.String.t option;
preferred_availability_zones : PreferredAvailabilityZoneList.t;
num_cache_nodes : Aws.BaseTypes.Integer.t option;
cache_node_type : Aws.BaseTypes.String.t option;
engine : Aws.BaseTypes.String.t option;
engine_version : Aws.BaseTypes.String.t option;
cache_parameter_group_name : Aws.BaseTypes.String.t option;
cache_subnet_group_name : Aws.BaseTypes.String.t option;
cache_security_group_names : CacheSecurityGroupNameList.t;
security_group_ids : SecurityGroupIdsList.t;
tags : TagList.t;
snapshot_arns : SnapshotArnsList.t;
snapshot_name : Aws.BaseTypes.String.t option;
preferred_maintenance_window : Aws.BaseTypes.String.t option;
port : Aws.BaseTypes.Integer.t option;
notification_topic_arn : Aws.BaseTypes.String.t option;
auto_minor_version_upgrade : Aws.BaseTypes.Boolean.t option;
snapshot_retention_limit : Aws.BaseTypes.Integer.t option;
snapshot_window : Aws.BaseTypes.String.t option;
auth_token : Aws.BaseTypes.String.t option;
outpost_mode : OutpostMode.t option;
preferred_outpost_arn : Aws.BaseTypes.String.t option;
preferred_outpost_arns : PreferredOutpostArnList.t;
}
val make : cache_cluster_id:Aws.BaseTypes.String.t -> ?⁠replication_group_id:Aws.BaseTypes.String.t -> ?⁠a_z_mode:AZMode.t -> ?⁠preferred_availability_zone:Aws.BaseTypes.String.t -> ?⁠preferred_availability_zones:PreferredAvailabilityZoneList.t -> ?⁠num_cache_nodes:Aws.BaseTypes.Integer.t -> ?⁠cache_node_type:Aws.BaseTypes.String.t -> ?⁠engine:Aws.BaseTypes.String.t -> ?⁠engine_version:Aws.BaseTypes.String.t -> ?⁠cache_parameter_group_name:Aws.BaseTypes.String.t -> ?⁠cache_subnet_group_name:Aws.BaseTypes.String.t -> ?⁠cache_security_group_names:CacheSecurityGroupNameList.t -> ?⁠security_group_ids:SecurityGroupIdsList.t -> ?⁠tags:TagList.t -> ?⁠snapshot_arns:SnapshotArnsList.t -> ?⁠snapshot_name:Aws.BaseTypes.String.t -> ?⁠preferred_maintenance_window:Aws.BaseTypes.String.t -> ?⁠port:Aws.BaseTypes.Integer.t -> ?⁠notification_topic_arn:Aws.BaseTypes.String.t -> ?⁠auto_minor_version_upgrade:Aws.BaseTypes.Boolean.t -> ?⁠snapshot_retention_limit:Aws.BaseTypes.Integer.t -> ?⁠snapshot_window:Aws.BaseTypes.String.t -> ?⁠auth_token:Aws.BaseTypes.String.t -> ?⁠outpost_mode:OutpostMode.t -> ?⁠preferred_outpost_arn:Aws.BaseTypes.String.t -> ?⁠preferred_outpost_arns:PreferredOutpostArnList.t -> unit -> t
val parse : Ezxmlm.nodes -> t option
val to_query : t -> Aws.Query.t
val to_json : t -> [> `Assoc of (string * Aws.Json.t) list ]
val of_json : Aws.Json.t -> t