using System.Collections.Generic;
namespace Amazon.Lambda.CloudWatchEvents.BatchEvents
{
///
/// https://docs.aws.amazon.com/batch/latest/userguide/batch_cwe_events.html
/// https://docs.aws.amazon.com/batch/latest/APIReference/API_JobDetail.html
/// https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html
///
public class Job
{
///
/// The array properties of the job, if it is an array job.
///
public ArrayPropertiesDetail ArrayProperties { get; set; }
///
/// A list of job attempts associated with this job.
///
public List Attempts { get; set; }
///
/// An object representing the details of the container that is associated with the job.
///
public ContainerDetail Container { get; set; }
///
/// The Unix time stamp (in seconds and milliseconds) for when the job was created. For non-array
/// jobs and parent array jobs, this is when the job entered the SUBMITTED state
/// (at the time SubmitJob was called). For array child jobs, this is when the child job was
/// spawned by its parent and entered the PENDING state.
///
public long CreatedAt { get; set; }
///
/// A list of job names or IDs on which this job depends.
///
public List DependsOn { get; set; }
///
/// The Amazon Resource Name (ARN) of the job.
///
public string JobArn { get; set; }
///
/// The job definition that is used by this job.
///
public string JobDefinition { get; set; }
///
/// The ID for the job.
///
public string JobId { get; set; }
///
/// The name of the job.
///
public string JobName { get; set; }
///
/// The Amazon Resource Name (ARN) of the job queue with which the job is associated.
///
public string JobQueue { get; set; }
///
/// An object representing the details of a node that is associated with a multi-node
/// parallel job.
///
public NodeDetails NodeDetails { get; set; }
///
/// An object representing the node properties of a multi-node parallel job.
///
public NodeProperties NodeProperties { get; set; }
///
/// Additional parameters passed to the job that replace parameter substitution placeholders or
/// override any corresponding parameter defaults from the job definition.
///
public Dictionary Parameters { get; set; }
///
/// The platform capabilities required by the job definition. If no value is specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.
///
public List PlatformCapabilities { get; set; }
///
/// Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated.
/// Tags can only be propagated to the tasks during task creation. For tags with the same name, job tags are given priority over job definitions tags.
/// If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
///
public bool PropagateTags { get; set; }
///
/// The retry strategy to use for this job if an attempt fails.
///
public RetryStrategy RetryStrategy { get; set; }
///
/// The Unix time stamp (in seconds and milliseconds) for when the job was started (when the job
/// transitioned from the STARTING state to the RUNNING state).
///
public long StartedAt { get; set; }
///
/// The current status for the job. Note: If your jobs do not progress to STARTING, see Jobs Stuck
/// in RUNNABLE Status in the troubleshooting section of the AWS Batch User Guide.
///
public string Status { get; set; }
///
/// A short, human-readable string to provide additional details about the current status of the job.
///
public string StatusReason { get; set; }
///
/// The Unix time stamp (in seconds and milliseconds) for when the job was stopped (when the
/// job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).
///
public long StoppedAt { get; set; }
///
/// The tags applied to the job.
///
public Dictionary Tags { get; set; }
///
/// The timeout configuration for the job.
///
public JobTimeout Timeout { get; set; }
}
}