SNS.Topic
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-subscription.html
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
and logging_config = {
failure_feedback_role_arn : string option;
success_feedback_sample_rate : string option;
success_feedback_role_arn : string option;
protocol : string;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic-loggingconfig.html
type properties = {
signature_version : string option;
delivery_status_logging : logging_config list option;
kms_master_key_id : string option;
tracing_config : string option;
fifo_topic : bool option;
display_name : string option;
content_based_deduplication : bool option;
subscription : subscription list option;
data_protection_policy : Yojson.Safe.t option;
topic_name : string option;
archive_policy : Yojson.Safe.t option;
}
see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html;
val make_properties :
?signature_version:string ->
?delivery_status_logging:logging_config list ->
?kms_master_key_id:string ->
?tracing_config:string ->
?fifo_topic:bool ->
?display_name:string ->
?content_based_deduplication:bool ->
?subscription:subscription list ->
?tags:tag list ->
?data_protection_policy:Yojson.Safe.t ->
?topic_name:string ->
?archive_policy:Yojson.Safe.t ->
unit ->
properties
val make_subscription :
endpoint:string ->
protocol:string ->
unit ->
subscription
val make_tag : value:string -> key:string -> unit -> tag
val make_logging_config :
?failure_feedback_role_arn:string ->
?success_feedback_sample_rate:string ->
?success_feedback_role_arn:string ->
protocol:string ->
unit ->
logging_config
val yojson_of_subscription :
subscription ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_logging_config :
logging_config ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties :
properties ->
[> `Assoc of (string * Yojson.Safe.t) list ]
val create_attributes : string -> attributes