Module Batch.JobDefinition

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html

type metadata = {
  1. labels : Yojson.Safe.t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties-metadata.html

and resource_requirement = {
  1. type_ : string option;
  2. value : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html

and eks_container_volume_mount = {
  1. mount_path : string option;
  2. read_only : bool option;
  3. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainervolumemount.html

and fargate_platform_configuration = {
  1. platform_version : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-fargateplatformconfiguration.html

and tmpfs = {
  1. size : int;
  2. container_path : string;
  3. mount_options : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html

and eks_host_path = {
  1. path : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekshostpath.html

and eks_container_environment_variable = {
  1. value : string option;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerenvironmentvariable.html

and runtime_platform = {
  1. operating_system_family : string option;
  2. cpu_architecture : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-runtimeplatform.html

and eks_secret = {
  1. secret_name : string;
  2. optional : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekssecret.html

and authorization_config = {
  1. iam : string option;
  2. access_point_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-authorizationconfig.html

and repository_credentials = {
  1. credentials_parameter : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-repositorycredentials.html

and environment = {
  1. value : string option;
  2. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html

and eks_container_resource_requirements = {
  1. limits : Yojson.Safe.t option;
  2. requests : Yojson.Safe.t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerresourcerequirements.html

and mount_points = {
  1. read_only : bool option;
  2. source_volume : string option;
  3. container_path : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html

and timeout = {
  1. attempt_duration_seconds : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html

and volumes_host = {
  1. source_path : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html

and ulimit = {
  1. soft_limit : int;
  2. hard_limit : int;
  3. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html

and device = {
  1. host_path : string option;
  2. permissions : string list option;
  3. container_path : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html

and eks_container_security_context = {
  1. run_as_user : int option;
  2. run_as_non_root : bool option;
  3. privileged : bool option;
  4. read_only_root_filesystem : bool option;
  5. run_as_group : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainersecuritycontext.html

and evaluate_on_exit = {
  1. action : string;
  2. on_exit_code : string option;
  3. on_reason : string option;
  4. on_status_reason : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-evaluateonexit.html

and eks_empty_dir = {
  1. medium : string option;
  2. size_limit : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksemptydir.html

and ephemeral_storage = {
  1. size_in_gib : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-ephemeralstorage.html

and secret = {
  1. value_from : string;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-secret.html

and network_configuration = {
  1. assign_public_ip : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-networkconfiguration.html

and eks_volume = {
  1. secret : eks_secret option;
  2. empty_dir : eks_empty_dir option;
  3. host_path : eks_host_path option;
  4. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksvolume.html

and retry_strategy = {
  1. evaluate_on_exit : evaluate_on_exit list option;
  2. attempts : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html

and linux_parameters = {
  1. swappiness : int option;
  2. tmpfs : tmpfs list option;
  3. shared_memory_size : int option;
  4. devices : device list option;
  5. init_process_enabled : bool option;
  6. max_swap : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html

and log_configuration = {
  1. secret_options : secret list option;
  2. options : Yojson.Safe.t option;
  3. log_driver : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html

and eks_container = {
  1. args : string list option;
  2. volume_mounts : eks_container_volume_mount list option;
  3. image_pull_policy : string option;
  4. command : string list option;
  5. security_context : eks_container_security_context option;
  6. resources : eks_container_resource_requirements option;
  7. image : string;
  8. env : eks_container_environment_variable list option;
  9. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainer.html

and efs_volume_configuration = {
  1. transit_encryption : string option;
  2. authorization_config : authorization_config option;
  3. file_system_id : string;
  4. root_directory : string option;
  5. transit_encryption_port : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html

and pod_properties = {
  1. volumes : eks_volume list option;
  2. dns_policy : string option;
  3. containers : eks_container list option;
  4. metadata : metadata option;
  5. service_account_name : string option;
  6. host_network : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html

and volumes = {
  1. host : volumes_host option;
  2. efs_volume_configuration : efs_volume_configuration option;
  3. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html

and container_properties = {
  1. repository_credentials : repository_credentials option;
  2. user : string option;
  3. secrets : secret list option;
  4. memory : int option;
  5. privileged : bool option;
  6. linux_parameters : linux_parameters option;
  7. fargate_platform_configuration : fargate_platform_configuration option;
  8. job_role_arn : string option;
  9. readonly_root_filesystem : bool option;
  10. vcpus : int option;
  11. image : string;
  12. resource_requirements : resource_requirement list option;
  13. log_configuration : log_configuration option;
  14. mount_points : mount_points list option;
  15. execution_role_arn : string option;
  16. runtime_platform : runtime_platform option;
  17. volumes : volumes list option;
  18. command : string list option;
  19. environment : environment list option;
  20. ulimits : ulimit list option;
  21. network_configuration : network_configuration option;
  22. instance_type : string option;
  23. ephemeral_storage : ephemeral_storage option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html

and eks_properties = {
  1. pod_properties : pod_properties option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-eksproperties.html

and node_range_property = {
  1. container : container_properties option;
  2. target_nodes : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html

and node_properties = {
  1. main_node : int;
  2. node_range_properties : node_range_property list;
  3. num_nodes : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html

type properties = {
  1. type_ : string;
  2. parameters : Yojson.Safe.t option;
  3. node_properties : node_properties option;
  4. scheduling_priority : int option;
  5. timeout : timeout option;
  6. container_properties : container_properties option;
  7. job_definition_name : string option;
  8. propagate_tags : bool option;
  9. platform_capabilities : string list option;
  10. eks_properties : eks_properties option;
  11. retry_strategy : retry_strategy option;
  12. tags : Yojson.Safe.t option;
}

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

val make_properties : type_:string -> ?parameters:Yojson.Safe.t -> ?node_properties:node_properties -> ?scheduling_priority:int -> ?timeout:timeout -> ?container_properties:container_properties -> ?job_definition_name:string -> ?propagate_tags:bool -> ?platform_capabilities:string list -> ?eks_properties:eks_properties -> ?retry_strategy:retry_strategy -> ?tags:Yojson.Safe.t -> unit -> properties
val make_metadata : ?labels:Yojson.Safe.t -> unit -> metadata
val make_resource_requirement : ?type_:string -> ?value:string -> unit -> resource_requirement
val make_eks_container_volume_mount : ?mount_path:string -> ?read_only:bool -> ?name:string -> unit -> eks_container_volume_mount
val make_fargate_platform_configuration : ?platform_version:string -> unit -> fargate_platform_configuration
val make_tmpfs : size:int -> container_path:string -> ?mount_options:string list -> unit -> tmpfs
val make_eks_host_path : ?path:string -> unit -> eks_host_path
val make_eks_container_environment_variable : ?value:string -> name:string -> unit -> eks_container_environment_variable
val make_runtime_platform : ?operating_system_family:string -> ?cpu_architecture:string -> unit -> runtime_platform
val make_eks_secret : secret_name:string -> ?optional:bool -> unit -> eks_secret
val make_authorization_config : ?iam:string -> ?access_point_id:string -> unit -> authorization_config
val make_repository_credentials : credentials_parameter:string -> unit -> repository_credentials
val make_environment : ?value:string -> ?name:string -> unit -> environment
val make_eks_container_resource_requirements : ?limits:Yojson.Safe.t -> ?requests:Yojson.Safe.t -> unit -> eks_container_resource_requirements
val make_mount_points : ?read_only:bool -> ?source_volume:string -> ?container_path:string -> unit -> mount_points
val make_timeout : ?attempt_duration_seconds:int -> unit -> timeout
val make_volumes_host : ?source_path:string -> unit -> volumes_host
val make_ulimit : soft_limit:int -> hard_limit:int -> name:string -> unit -> ulimit
val make_device : ?host_path:string -> ?permissions:string list -> ?container_path:string -> unit -> device
val make_eks_container_security_context : ?run_as_user:int -> ?run_as_non_root:bool -> ?privileged:bool -> ?read_only_root_filesystem:bool -> ?run_as_group:int -> unit -> eks_container_security_context
val make_evaluate_on_exit : action:string -> ?on_exit_code:string -> ?on_reason:string -> ?on_status_reason:string -> unit -> evaluate_on_exit
val make_eks_empty_dir : ?medium:string -> ?size_limit:string -> unit -> eks_empty_dir
val make_ephemeral_storage : size_in_gib:int -> unit -> ephemeral_storage
val make_secret : value_from:string -> name:string -> unit -> secret
val make_network_configuration : ?assign_public_ip:string -> unit -> network_configuration
val make_eks_volume : ?secret:eks_secret -> ?empty_dir:eks_empty_dir -> ?host_path:eks_host_path -> name:string -> unit -> eks_volume
val make_retry_strategy : ?evaluate_on_exit:evaluate_on_exit list -> ?attempts:int -> unit -> retry_strategy
val make_linux_parameters : ?swappiness:int -> ?tmpfs:tmpfs list -> ?shared_memory_size:int -> ?devices:device list -> ?init_process_enabled:bool -> ?max_swap:int -> unit -> linux_parameters
val make_log_configuration : ?secret_options:secret list -> ?options:Yojson.Safe.t -> log_driver:string -> unit -> log_configuration
val make_eks_container : ?args:string list -> ?volume_mounts:eks_container_volume_mount list -> ?image_pull_policy:string -> ?command:string list -> ?security_context:eks_container_security_context -> ?resources:eks_container_resource_requirements -> image:string -> ?env:eks_container_environment_variable list -> ?name:string -> unit -> eks_container
val make_efs_volume_configuration : ?transit_encryption:string -> ?authorization_config:authorization_config -> file_system_id:string -> ?root_directory:string -> ?transit_encryption_port:int -> unit -> efs_volume_configuration
val make_pod_properties : ?volumes:eks_volume list -> ?dns_policy:string -> ?containers:eks_container list -> ?metadata:metadata -> ?service_account_name:string -> ?host_network:bool -> unit -> pod_properties
val make_volumes : ?host:volumes_host -> ?efs_volume_configuration:efs_volume_configuration -> ?name:string -> unit -> volumes
val make_container_properties : ?repository_credentials:repository_credentials -> ?user:string -> ?secrets:secret list -> ?memory:int -> ?privileged:bool -> ?linux_parameters:linux_parameters -> ?fargate_platform_configuration:fargate_platform_configuration -> ?job_role_arn:string -> ?readonly_root_filesystem:bool -> ?vcpus:int -> image:string -> ?resource_requirements:resource_requirement list -> ?log_configuration:log_configuration -> ?mount_points:mount_points list -> ?execution_role_arn:string -> ?runtime_platform:runtime_platform -> ?volumes:volumes list -> ?command:string list -> ?environment:environment list -> ?ulimits:ulimit list -> ?network_configuration:network_configuration -> ?instance_type:string -> ?ephemeral_storage:ephemeral_storage -> unit -> container_properties
val make_eks_properties : ?pod_properties:pod_properties -> unit -> eks_properties
val make_node_range_property : ?container:container_properties -> target_nodes:string -> unit -> node_range_property
val make_node_properties : main_node:int -> node_range_properties:node_range_property list -> num_nodes:int -> unit -> node_properties
val yojson_of_metadata : metadata -> Yojson.Safe.t
val yojson_of_resource_requirement : resource_requirement -> Yojson.Safe.t
val yojson_of_eks_container_volume_mount : eks_container_volume_mount -> Yojson.Safe.t
val yojson_of_fargate_platform_configuration : fargate_platform_configuration -> Yojson.Safe.t
val yojson_of_tmpfs : tmpfs -> Yojson.Safe.t
val yojson_of_eks_host_path : eks_host_path -> Yojson.Safe.t
val yojson_of_eks_container_environment_variable : eks_container_environment_variable -> Yojson.Safe.t
val yojson_of_runtime_platform : runtime_platform -> Yojson.Safe.t
val yojson_of_eks_secret : eks_secret -> Yojson.Safe.t
val yojson_of_authorization_config : authorization_config -> Yojson.Safe.t
val yojson_of_repository_credentials : repository_credentials -> Yojson.Safe.t
val yojson_of_environment : environment -> Yojson.Safe.t
val yojson_of_eks_container_resource_requirements : eks_container_resource_requirements -> Yojson.Safe.t
val yojson_of_mount_points : mount_points -> Yojson.Safe.t
val yojson_of_timeout : timeout -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_volumes_host : volumes_host -> Yojson.Safe.t
val yojson_of_ulimit : ulimit -> Yojson.Safe.t
val yojson_of_device : device -> Yojson.Safe.t
val yojson_of_eks_container_security_context : eks_container_security_context -> Yojson.Safe.t
val yojson_of_evaluate_on_exit : evaluate_on_exit -> Yojson.Safe.t
val yojson_of_eks_empty_dir : eks_empty_dir -> Yojson.Safe.t
val yojson_of_ephemeral_storage : ephemeral_storage -> Yojson.Safe.t
val yojson_of_secret : secret -> Yojson.Safe.t
val yojson_of_network_configuration : network_configuration -> Yojson.Safe.t
val yojson_of_eks_volume : eks_volume -> Yojson.Safe.t
val yojson_of_retry_strategy : retry_strategy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_linux_parameters : linux_parameters -> Yojson.Safe.t
val yojson_of_log_configuration : log_configuration -> Yojson.Safe.t
val yojson_of_eks_container : eks_container -> Yojson.Safe.t
val yojson_of_efs_volume_configuration : efs_volume_configuration -> Yojson.Safe.t
val yojson_of_pod_properties : pod_properties -> Yojson.Safe.t
val yojson_of_volumes : volumes -> Yojson.Safe.t
val yojson_of_container_properties : container_properties -> Yojson.Safe.t
val yojson_of_eks_properties : eks_properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_node_range_property : node_range_property -> Yojson.Safe.t
val yojson_of_node_properties : node_properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string