Module GreengrassV2.ComponentVersion

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

type component_dependency_requirement = {
  1. version_requirement : string option;
  2. dependency_type : string option;
}

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

and lambda_device_mount = {
  1. path : string option;
  2. add_group_owner : bool option;
  3. permission : string option;
}

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

and lambda_volume_mount = {
  1. source_path : string option;
  2. destination_path : string option;
  3. add_group_owner : bool option;
  4. permission : string option;
}

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

and component_platform = {
  1. attributes_ : string Stdlib__Map.Make(Stdlib.String).t option;
  2. name : string option;
}

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

and lambda_event_source = {
  1. type_ : string option;
  2. topic : string option;
}

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

and lambda_container_params = {
  1. volumes : lambda_volume_mount list option;
  2. mount_ro_sysfs : bool option;
  3. memory_size_in_kb : int option;
  4. devices : lambda_device_mount list option;
}

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

and lambda_linux_process_params = {
  1. isolation_mode : string option;
  2. container_params : lambda_container_params option;
}

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

and lambda_execution_parameters = {
  1. max_instances_count : int option;
  2. timeout_in_seconds : int option;
  3. environment_variables : string Stdlib__Map.Make(Stdlib.String).t option;
  4. event_sources : lambda_event_source list option;
  5. pinned : bool option;
  6. exec_args : string list option;
  7. linux_process_params : lambda_linux_process_params option;
  8. input_payload_encoding_type : string option;
  9. max_queue_size : int option;
  10. status_timeout_in_seconds : int option;
  11. max_idle_time_in_seconds : int option;
}

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

and lambda_function_recipe_source = {
  1. component_dependencies : component_dependency_requirement Stdlib__Map.Make(Stdlib.String).t option;
  2. component_lambda_parameters : lambda_execution_parameters option;
  3. lambda_arn : string option;
  4. component_platforms : component_platform list option;
  5. component_name : string option;
  6. component_version : string option;
}

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

type properties = {
  1. lambda_function : lambda_function_recipe_source option;
  2. inline_recipe : string option;
  3. tags : string Stdlib__Map.Make(Stdlib.String).t option;
}

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

val make_properties : ?lambda_function:lambda_function_recipe_source -> ?inline_recipe:string -> ?tags:string Stdlib__Map.Make(Stdlib.String).t -> unit -> properties
val make_component_dependency_requirement : ?version_requirement:string -> ?dependency_type:string -> unit -> component_dependency_requirement
val make_lambda_device_mount : ?path:string -> ?add_group_owner:bool -> ?permission:string -> unit -> lambda_device_mount
val make_lambda_volume_mount : ?source_path:string -> ?destination_path:string -> ?add_group_owner:bool -> ?permission:string -> unit -> lambda_volume_mount
val make_component_platform : ?attributes_:string Stdlib__Map.Make(Stdlib.String).t -> ?name:string -> unit -> component_platform
val make_lambda_event_source : ?type_:string -> ?topic:string -> unit -> lambda_event_source
val make_lambda_container_params : ?volumes:lambda_volume_mount list -> ?mount_ro_sysfs:bool -> ?memory_size_in_kb:int -> ?devices:lambda_device_mount list -> unit -> lambda_container_params
val make_lambda_linux_process_params : ?isolation_mode:string -> ?container_params:lambda_container_params -> unit -> lambda_linux_process_params
val make_lambda_execution_parameters : ?max_instances_count:int -> ?timeout_in_seconds:int -> ?environment_variables:string Stdlib__Map.Make(Stdlib.String).t -> ?event_sources:lambda_event_source list -> ?pinned:bool -> ?exec_args:string list -> ?linux_process_params:lambda_linux_process_params -> ?input_payload_encoding_type:string -> ?max_queue_size:int -> ?status_timeout_in_seconds:int -> ?max_idle_time_in_seconds:int -> unit -> lambda_execution_parameters
val make_lambda_function_recipe_source : ?component_dependencies: component_dependency_requirement Stdlib__Map.Make(Stdlib.String).t -> ?component_lambda_parameters:lambda_execution_parameters -> ?lambda_arn:string -> ?component_platforms:component_platform list -> ?component_name:string -> ?component_version:string -> unit -> lambda_function_recipe_source
val yojson_of_component_dependency_requirement : component_dependency_requirement -> Yojson.Safe.t
val yojson_of_lambda_device_mount : lambda_device_mount -> Yojson.Safe.t
val yojson_of_lambda_volume_mount : lambda_volume_mount -> Yojson.Safe.t
val yojson_of_component_platform : component_platform -> Yojson.Safe.t
val yojson_of_lambda_event_source : lambda_event_source -> Yojson.Safe.t
val yojson_of_lambda_container_params : lambda_container_params -> Yojson.Safe.t
val yojson_of_lambda_linux_process_params : lambda_linux_process_params -> Yojson.Safe.t
val yojson_of_lambda_execution_parameters : lambda_execution_parameters -> Yojson.Safe.t
val yojson_of_lambda_function_recipe_source : lambda_function_recipe_source -> [> `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. component_name : string;
  3. arn : string;
  4. component_version : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string