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; } } }