Module GreengrassV2.Deployment

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html

type component_configuration_update = {
  1. merge : string option;
  2. reset : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentconfigurationupdate.html

and io_t_job_rate_increase_criteria = {
  1. number_of_succeeded_things : int option;
  2. number_of_notified_things : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobrateincreasecriteria.html

and io_t_job_abort_criteria = {
  1. failure_type : string;
  2. action : string;
  3. threshold_percentage : float;
  4. min_number_of_executed_things : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortcriteria.html

and system_resource_limits = {
  1. memory : int option;
  2. cpus : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-systemresourcelimits.html

and deployment_component_update_policy = {
  1. action : string option;
  2. timeout_in_seconds : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentcomponentupdatepolicy.html

and deployment_configuration_validation_policy = {
  1. timeout_in_seconds : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentconfigurationvalidationpolicy.html

and io_t_job_timeout_config = {
  1. in_progress_timeout_in_minutes : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobtimeoutconfig.html

and component_run_with = {
  1. windows_user : string option;
  2. system_resource_limits : system_resource_limits option;
  3. posix_user : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentrunwith.html

and deployment_policies = {
  1. component_update_policy : deployment_component_update_policy option;
  2. configuration_validation_policy : deployment_configuration_validation_policy option;
  3. failure_handling_policy : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentpolicies.html

and io_t_job_exponential_rollout_rate = {
  1. rate_increase_criteria : io_t_job_rate_increase_criteria;
  2. base_rate_per_minute : int;
  3. increment_factor : float;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexponentialrolloutrate.html

and io_t_job_abort_config = {
  1. criteria_list : io_t_job_abort_criteria list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobabortconfig.html

and component_deployment_specification = {
  1. run_with : component_run_with option;
  2. configuration_update : component_configuration_update option;
  3. component_version : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-componentdeploymentspecification.html

and io_t_job_executions_rollout_config = {
  1. maximum_per_minute : int option;
  2. exponential_rate : io_t_job_exponential_rollout_rate option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-iotjobexecutionsrolloutconfig.html

and deployment_io_t_job_configuration = {
  1. job_executions_rollout_config : io_t_job_executions_rollout_config option;
  2. timeout_config : io_t_job_timeout_config option;
  3. abort_config : io_t_job_abort_config option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrassv2-deployment-deploymentiotjobconfiguration.html

type properties = {
  1. components : component_deployment_specification Stdlib__Map.Make(Stdlib.String).t option;
  2. deployment_name : string option;
  3. iot_job_configuration : deployment_io_t_job_configuration option;
  4. deployment_policies : deployment_policies option;
  5. target_arn : string;
  6. parent_target_arn : string option;
  7. tags : string Stdlib__Map.Make(Stdlib.String).t option;
}

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

val make_properties : ?components: component_deployment_specification Stdlib__Map.Make(Stdlib.String).t -> ?deployment_name:string -> ?iot_job_configuration:deployment_io_t_job_configuration -> ?deployment_policies:deployment_policies -> target_arn:string -> ?parent_target_arn:string -> ?tags:string Stdlib__Map.Make(Stdlib.String).t -> unit -> properties
val make_component_configuration_update : ?merge:string -> ?reset:string list -> unit -> component_configuration_update
val make_io_t_job_rate_increase_criteria : ?number_of_succeeded_things:int -> ?number_of_notified_things:int -> unit -> io_t_job_rate_increase_criteria
val make_io_t_job_abort_criteria : failure_type:string -> action:string -> threshold_percentage:float -> min_number_of_executed_things:int -> unit -> io_t_job_abort_criteria
val make_system_resource_limits : ?memory:int -> ?cpus:float -> unit -> system_resource_limits
val make_deployment_component_update_policy : ?action:string -> ?timeout_in_seconds:int -> unit -> deployment_component_update_policy
val make_deployment_configuration_validation_policy : ?timeout_in_seconds:int -> unit -> deployment_configuration_validation_policy
val make_io_t_job_timeout_config : ?in_progress_timeout_in_minutes:int -> unit -> io_t_job_timeout_config
val make_component_run_with : ?windows_user:string -> ?system_resource_limits:system_resource_limits -> ?posix_user:string -> unit -> component_run_with
val make_deployment_policies : ?component_update_policy:deployment_component_update_policy -> ?configuration_validation_policy:deployment_configuration_validation_policy -> ?failure_handling_policy:string -> unit -> deployment_policies
val make_io_t_job_exponential_rollout_rate : rate_increase_criteria:io_t_job_rate_increase_criteria -> base_rate_per_minute:int -> increment_factor:float -> unit -> io_t_job_exponential_rollout_rate
val make_io_t_job_abort_config : criteria_list:io_t_job_abort_criteria list -> unit -> io_t_job_abort_config
val make_component_deployment_specification : ?run_with:component_run_with -> ?configuration_update:component_configuration_update -> ?component_version:string -> unit -> component_deployment_specification
val make_io_t_job_executions_rollout_config : ?maximum_per_minute:int -> ?exponential_rate:io_t_job_exponential_rollout_rate -> unit -> io_t_job_executions_rollout_config
val make_deployment_io_t_job_configuration : ?job_executions_rollout_config:io_t_job_executions_rollout_config -> ?timeout_config:io_t_job_timeout_config -> ?abort_config:io_t_job_abort_config -> unit -> deployment_io_t_job_configuration
val yojson_of_component_configuration_update : component_configuration_update -> Yojson.Safe.t
val yojson_of_io_t_job_rate_increase_criteria : io_t_job_rate_increase_criteria -> Yojson.Safe.t
val yojson_of_io_t_job_abort_criteria : io_t_job_abort_criteria -> Yojson.Safe.t
val yojson_of_system_resource_limits : system_resource_limits -> Yojson.Safe.t
val yojson_of_deployment_component_update_policy : deployment_component_update_policy -> Yojson.Safe.t
val yojson_of_deployment_configuration_validation_policy : deployment_configuration_validation_policy -> Yojson.Safe.t
val yojson_of_io_t_job_timeout_config : io_t_job_timeout_config -> Yojson.Safe.t
val yojson_of_component_run_with : component_run_with -> Yojson.Safe.t
val yojson_of_deployment_policies : deployment_policies -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_io_t_job_exponential_rollout_rate : io_t_job_exponential_rollout_rate -> Yojson.Safe.t
val yojson_of_io_t_job_abort_config : io_t_job_abort_config -> Yojson.Safe.t
val yojson_of_component_deployment_specification : component_deployment_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_io_t_job_executions_rollout_config : io_t_job_executions_rollout_config -> Yojson.Safe.t
val yojson_of_deployment_io_t_job_configuration : deployment_io_t_job_configuration -> [> `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. deployment_id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string