Module MSK.Cluster

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

type vpc_connectivity_iam = {
  1. enabled : bool;
}

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

and vpc_connectivity_scram = {
  1. enabled : bool;
}

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

and jmx_exporter = {
  1. enabled_in_broker : bool;
}

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

and iam = {
  1. enabled : bool;
}

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

and s3 = {
  1. bucket : string option;
  2. enabled : bool;
  3. prefix : string option;
}

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

and unauthenticated = {
  1. enabled : bool;
}

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

and cloud_watch_logs = {
  1. log_group : string option;
  2. enabled : bool;
}

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

and encryption_in_transit = {
  1. client_broker : string option;
  2. in_cluster : bool option;
}

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

and firehose = {
  1. delivery_stream : string option;
  2. enabled : bool;
}

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

and configuration_info = {
  1. revision : int;
  2. arn : string;
}

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

and vpc_connectivity_tls = {
  1. enabled : bool;
}

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

and scram = {
  1. enabled : bool;
}

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

and encryption_at_rest = {
  1. data_volume_kms_key_id : string;
}

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

and tls = {
  1. enabled : bool option;
  2. certificate_authority_arn_list : string list option;
}

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

and node_exporter = {
  1. enabled_in_broker : bool;
}

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

and provisioned_throughput = {
  1. volume_throughput : int option;
  2. enabled : bool option;
}

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

and public_access = {
  1. type_ : string option;
}

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

and broker_logs = {
  1. s3 : s3 option;
  2. firehose : firehose option;
  3. cloud_watch_logs : cloud_watch_logs option;
}

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

and prometheus = {
  1. jmx_exporter : jmx_exporter option;
  2. node_exporter : node_exporter option;
}

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

and vpc_connectivity_sasl = {
  1. iam : vpc_connectivity_iam option;
  2. scram : vpc_connectivity_scram option;
}

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

and encryption_info = {
  1. encryption_at_rest : encryption_at_rest option;
  2. encryption_in_transit : encryption_in_transit option;
}

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

and ebs_storage_info = {
  1. provisioned_throughput : provisioned_throughput option;
  2. volume_size : int option;
}

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

and sasl = {
  1. iam : iam option;
  2. scram : scram option;
}

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

and logging_info = {
  1. broker_logs : broker_logs;
}

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

and vpc_connectivity_client_authentication = {
  1. sasl : vpc_connectivity_sasl option;
  2. tls : vpc_connectivity_tls option;
}

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

and client_authentication = {
  1. sasl : sasl option;
  2. unauthenticated : unauthenticated option;
  3. tls : tls option;
}

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

and open_monitoring = {
  1. prometheus : prometheus;
}

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

and storage_info = {
  1. ebs_storage_info : ebs_storage_info option;
}

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

and vpc_connectivity = {
  1. client_authentication : vpc_connectivity_client_authentication option;
}

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

and connectivity_info = {
  1. vpc_connectivity : vpc_connectivity option;
  2. public_access : public_access option;
}

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

and broker_node_group_info = {
  1. security_groups : string list option;
  2. client_subnets : string list;
  3. connectivity_info : connectivity_info option;
  4. storage_info : storage_info option;
  5. broker_az_distribution : string option;
  6. instance_type : string;
}

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

type properties = {
  1. kafka_version : string;
  2. number_of_broker_nodes : int;
  3. encryption_info : encryption_info option;
  4. open_monitoring : open_monitoring option;
  5. current_version : string option;
  6. storage_mode : string option;
  7. configuration_info : configuration_info option;
  8. broker_node_group_info : broker_node_group_info;
  9. enhanced_monitoring : string option;
  10. cluster_name : string;
  11. client_authentication : client_authentication option;
  12. logging_info : logging_info option;
  13. tags : string Stdlib__Map.Make(Stdlib.String).t option;
}

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

val make_properties : kafka_version:string -> number_of_broker_nodes:int -> ?encryption_info:encryption_info -> ?open_monitoring:open_monitoring -> ?current_version:string -> ?storage_mode:string -> ?configuration_info:configuration_info -> broker_node_group_info:broker_node_group_info -> ?enhanced_monitoring:string -> cluster_name:string -> ?client_authentication:client_authentication -> ?logging_info:logging_info -> ?tags:string Stdlib__Map.Make(Stdlib.String).t -> unit -> properties
val make_vpc_connectivity_iam : enabled:bool -> unit -> vpc_connectivity_iam
val make_vpc_connectivity_scram : enabled:bool -> unit -> vpc_connectivity_scram
val make_jmx_exporter : enabled_in_broker:bool -> unit -> jmx_exporter
val make_iam : enabled:bool -> unit -> iam
val make_s3 : ?bucket:string -> enabled:bool -> ?prefix:string -> unit -> s3
val make_unauthenticated : enabled:bool -> unit -> unauthenticated
val make_cloud_watch_logs : ?log_group:string -> enabled:bool -> unit -> cloud_watch_logs
val make_encryption_in_transit : ?client_broker:string -> ?in_cluster:bool -> unit -> encryption_in_transit
val make_firehose : ?delivery_stream:string -> enabled:bool -> unit -> firehose
val make_configuration_info : revision:int -> arn:string -> unit -> configuration_info
val make_vpc_connectivity_tls : enabled:bool -> unit -> vpc_connectivity_tls
val make_scram : enabled:bool -> unit -> scram
val make_encryption_at_rest : data_volume_kms_key_id:string -> unit -> encryption_at_rest
val make_tls : ?enabled:bool -> ?certificate_authority_arn_list:string list -> unit -> tls
val make_node_exporter : enabled_in_broker:bool -> unit -> node_exporter
val make_provisioned_throughput : ?volume_throughput:int -> ?enabled:bool -> unit -> provisioned_throughput
val make_public_access : ?type_:string -> unit -> public_access
val make_broker_logs : ?s3:s3 -> ?firehose:firehose -> ?cloud_watch_logs:cloud_watch_logs -> unit -> broker_logs
val make_prometheus : ?jmx_exporter:jmx_exporter -> ?node_exporter:node_exporter -> unit -> prometheus
val make_vpc_connectivity_sasl : ?iam:vpc_connectivity_iam -> ?scram:vpc_connectivity_scram -> unit -> vpc_connectivity_sasl
val make_encryption_info : ?encryption_at_rest:encryption_at_rest -> ?encryption_in_transit:encryption_in_transit -> unit -> encryption_info
val make_ebs_storage_info : ?provisioned_throughput:provisioned_throughput -> ?volume_size:int -> unit -> ebs_storage_info
val make_sasl : ?iam:iam -> ?scram:scram -> unit -> sasl
val make_logging_info : broker_logs:broker_logs -> unit -> logging_info
val make_vpc_connectivity_client_authentication : ?sasl:vpc_connectivity_sasl -> ?tls:vpc_connectivity_tls -> unit -> vpc_connectivity_client_authentication
val make_client_authentication : ?sasl:sasl -> ?unauthenticated:unauthenticated -> ?tls:tls -> unit -> client_authentication
val make_open_monitoring : prometheus:prometheus -> unit -> open_monitoring
val make_storage_info : ?ebs_storage_info:ebs_storage_info -> unit -> storage_info
val make_vpc_connectivity : ?client_authentication:vpc_connectivity_client_authentication -> unit -> vpc_connectivity
val make_connectivity_info : ?vpc_connectivity:vpc_connectivity -> ?public_access:public_access -> unit -> connectivity_info
val make_broker_node_group_info : ?security_groups:string list -> client_subnets:string list -> ?connectivity_info:connectivity_info -> ?storage_info:storage_info -> ?broker_az_distribution:string -> instance_type:string -> unit -> broker_node_group_info
val yojson_of_vpc_connectivity_iam : vpc_connectivity_iam -> Yojson.Safe.t
val yojson_of_vpc_connectivity_scram : vpc_connectivity_scram -> Yojson.Safe.t
val yojson_of_jmx_exporter : jmx_exporter -> Yojson.Safe.t
val yojson_of_iam : iam -> Yojson.Safe.t
val yojson_of_s3 : s3 -> Yojson.Safe.t
val yojson_of_unauthenticated : unauthenticated -> Yojson.Safe.t
val yojson_of_cloud_watch_logs : cloud_watch_logs -> Yojson.Safe.t
val yojson_of_encryption_in_transit : encryption_in_transit -> Yojson.Safe.t
val yojson_of_firehose : firehose -> Yojson.Safe.t
val yojson_of_configuration_info : configuration_info -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_vpc_connectivity_tls : vpc_connectivity_tls -> Yojson.Safe.t
val yojson_of_scram : scram -> Yojson.Safe.t
val yojson_of_encryption_at_rest : encryption_at_rest -> Yojson.Safe.t
val yojson_of_tls : tls -> Yojson.Safe.t
val yojson_of_node_exporter : node_exporter -> Yojson.Safe.t
val yojson_of_provisioned_throughput : provisioned_throughput -> Yojson.Safe.t
val yojson_of_public_access : public_access -> Yojson.Safe.t
val yojson_of_broker_logs : broker_logs -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_prometheus : prometheus -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_vpc_connectivity_sasl : vpc_connectivity_sasl -> Yojson.Safe.t
val yojson_of_encryption_info : encryption_info -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_ebs_storage_info : ebs_storage_info -> Yojson.Safe.t
val yojson_of_sasl : sasl -> Yojson.Safe.t
val yojson_of_logging_info : logging_info -> [> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list ]) list ]
val yojson_of_vpc_connectivity_client_authentication : vpc_connectivity_client_authentication -> Yojson.Safe.t
val yojson_of_client_authentication : client_authentication -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_open_monitoring : open_monitoring -> [> `Assoc of (string * [> `Assoc of (string * Yojson.Safe.t) list ]) list ]
val yojson_of_storage_info : storage_info -> Yojson.Safe.t
val yojson_of_vpc_connectivity : vpc_connectivity -> Yojson.Safe.t
val yojson_of_connectivity_info : connectivity_info -> Yojson.Safe.t
val yojson_of_broker_node_group_info : broker_node_group_info -> [> `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. arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string