Module Synthetics.Canary

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html

type s3_encryption = {
  1. kms_key_arn : string option;
  2. encryption_mode : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-s3encryption.html

and schedule = {
  1. duration_in_seconds : string option;
  2. expression : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html

and base_screenshot = {
  1. ignore_coordinates : string list option;
  2. screenshot_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-basescreenshot.html

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

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

and run_config = {
  1. timeout_in_seconds : int option;
  2. environment_variables : string Stdlib__Map.Make(Stdlib.String).t option;
  3. memory_in_mb : int option;
  4. active_tracing : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-runconfig.html

and vpc_config = {
  1. vpc_id : string option;
  2. subnet_ids : string list;
  3. security_group_ids : string list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html

and code = {
  1. script : string option;
  2. s3_object_version : string option;
  3. s3_bucket : string option;
  4. s3_key : string option;
  5. handler : string;
  6. source_location_arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html

and visual_reference = {
  1. base_screenshots : base_screenshot list option;
  2. base_canary_run_id : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-visualreference.html

and artifact_config = {
  1. s3_encryption : s3_encryption option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-artifactconfig.html

type properties = {
  1. visual_reference : visual_reference option;
  2. artifact_config : artifact_config option;
  3. success_retention_period : int option;
  4. runtime_version : string;
  5. vpc_config : vpc_config option;
  6. run_config : run_config option;
  7. failure_retention_period : int option;
  8. code : code;
  9. name : string;
  10. execution_role_arn : string;
  11. schedule : schedule;
  12. artifact_s3_location : string;
  13. tags : tag list option;
  14. start_canary_after_creation : bool option;
}

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

val make_properties : ?visual_reference:visual_reference -> ?artifact_config:artifact_config -> ?success_retention_period:int -> runtime_version:string -> ?vpc_config:vpc_config -> ?run_config:run_config -> ?failure_retention_period:int -> code:code -> name:string -> execution_role_arn:string -> schedule:schedule -> artifact_s3_location:string -> ?tags:tag list -> ?start_canary_after_creation:bool -> unit -> properties
val make_s3_encryption : ?kms_key_arn:string -> ?encryption_mode:string -> unit -> s3_encryption
val make_schedule : ?duration_in_seconds:string -> expression:string -> unit -> schedule
val make_base_screenshot : ?ignore_coordinates:string list -> screenshot_name:string -> unit -> base_screenshot
val make_tag : value:string -> key:string -> unit -> tag
val make_run_config : ?timeout_in_seconds:int -> ?environment_variables:string Stdlib__Map.Make(Stdlib.String).t -> ?memory_in_mb:int -> ?active_tracing:bool -> unit -> run_config
val make_vpc_config : ?vpc_id:string -> subnet_ids:string list -> security_group_ids:string list -> unit -> vpc_config
val make_code : ?script:string -> ?s3_object_version:string -> ?s3_bucket:string -> ?s3_key:string -> handler:string -> ?source_location_arn:string -> unit -> code
val make_visual_reference : ?base_screenshots:base_screenshot list -> base_canary_run_id:string -> unit -> visual_reference
val make_artifact_config : ?s3_encryption:s3_encryption -> unit -> artifact_config
val yojson_of_s3_encryption : s3_encryption -> Yojson.Safe.t
val yojson_of_schedule : schedule -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_base_screenshot : base_screenshot -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_run_config : run_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_vpc_config : vpc_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_code : code -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_visual_reference : visual_reference -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_artifact_config : artifact_config -> [> `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. code__source_location_arn : string;
  3. state : string;
  4. id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string