/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the batch-2016-08-10.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Batch.Model { /// /// An object that represents an Batch job. /// public partial class JobDetail { private ArrayPropertiesDetail _arrayProperties; private List _attempts = new List(); private ContainerDetail _container; private long? _createdAt; private List _dependsOn = new List(); private List _eksAttempts = new List(); private EksPropertiesDetail _eksProperties; private bool? _isCancelled; private bool? _isTerminated; private string _jobArn; private string _jobDefinition; private string _jobId; private string _jobName; private string _jobQueue; private NodeDetails _nodeDetails; private NodeProperties _nodeProperties; private Dictionary _parameters = new Dictionary(); private List _platformCapabilities = new List(); private bool? _propagateTags; private RetryStrategy _retryStrategy; private int? _schedulingPriority; private string _shareIdentifier; private long? _startedAt; private JobStatus _status; private string _statusReason; private long? _stoppedAt; private Dictionary _tags = new Dictionary(); private JobTimeout _timeout; /// /// Gets and sets the property ArrayProperties. /// /// The array properties of the job, if it's an array job. /// /// public ArrayPropertiesDetail ArrayProperties { get { return this._arrayProperties; } set { this._arrayProperties = value; } } // Check to see if ArrayProperties property is set internal bool IsSetArrayProperties() { return this._arrayProperties != null; } /// /// Gets and sets the property Attempts. /// /// A list of job attempts that are associated with this job. /// /// public List Attempts { get { return this._attempts; } set { this._attempts = value; } } // Check to see if Attempts property is set internal bool IsSetAttempts() { return this._attempts != null && this._attempts.Count > 0; } /// /// Gets and sets the property Container. /// /// An object that represents the details for the container that's associated with the /// job. /// /// public ContainerDetail Container { get { return this._container; } set { this._container = value; } } // Check to see if Container property is set internal bool IsSetContainer() { return this._container != null; } /// /// Gets and sets the property CreatedAt. /// /// The Unix timestamp (in milliseconds) for when the job was created. For non-array jobs /// and parent array jobs, this is when the job entered the SUBMITTED state. /// This is specifically 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 { return this._createdAt.GetValueOrDefault(); } set { this._createdAt = value; } } // Check to see if CreatedAt property is set internal bool IsSetCreatedAt() { return this._createdAt.HasValue; } /// /// Gets and sets the property DependsOn. /// /// A list of job IDs that this job depends on. /// /// public List DependsOn { get { return this._dependsOn; } set { this._dependsOn = value; } } // Check to see if DependsOn property is set internal bool IsSetDependsOn() { return this._dependsOn != null && this._dependsOn.Count > 0; } /// /// Gets and sets the property EksAttempts. /// /// A list of job attempts that are associated with this job. /// /// public List EksAttempts { get { return this._eksAttempts; } set { this._eksAttempts = value; } } // Check to see if EksAttempts property is set internal bool IsSetEksAttempts() { return this._eksAttempts != null && this._eksAttempts.Count > 0; } /// /// Gets and sets the property EksProperties. /// /// An object with various properties that are specific to Amazon EKS based jobs. Only /// one of container, eksProperties, or nodeDetails /// is specified. /// /// public EksPropertiesDetail EksProperties { get { return this._eksProperties; } set { this._eksProperties = value; } } // Check to see if EksProperties property is set internal bool IsSetEksProperties() { return this._eksProperties != null; } /// /// Gets and sets the property IsCancelled. /// /// Indicates whether the job is canceled. /// /// public bool IsCancelled { get { return this._isCancelled.GetValueOrDefault(); } set { this._isCancelled = value; } } // Check to see if IsCancelled property is set internal bool IsSetIsCancelled() { return this._isCancelled.HasValue; } /// /// Gets and sets the property IsTerminated. /// /// Indicates whether the job is terminated. /// /// public bool IsTerminated { get { return this._isTerminated.GetValueOrDefault(); } set { this._isTerminated = value; } } // Check to see if IsTerminated property is set internal bool IsSetIsTerminated() { return this._isTerminated.HasValue; } /// /// Gets and sets the property JobArn. /// /// The Amazon Resource Name (ARN) of the job. /// /// public string JobArn { get { return this._jobArn; } set { this._jobArn = value; } } // Check to see if JobArn property is set internal bool IsSetJobArn() { return this._jobArn != null; } /// /// Gets and sets the property JobDefinition. /// /// The Amazon Resource Name (ARN) of the job definition that this job uses. /// /// [AWSProperty(Required=true)] public string JobDefinition { get { return this._jobDefinition; } set { this._jobDefinition = value; } } // Check to see if JobDefinition property is set internal bool IsSetJobDefinition() { return this._jobDefinition != null; } /// /// Gets and sets the property JobId. /// /// The job ID. /// /// [AWSProperty(Required=true)] public string JobId { get { return this._jobId; } set { this._jobId = value; } } // Check to see if JobId property is set internal bool IsSetJobId() { return this._jobId != null; } /// /// Gets and sets the property JobName. /// /// The job name. /// /// [AWSProperty(Required=true)] public string JobName { get { return this._jobName; } set { this._jobName = value; } } // Check to see if JobName property is set internal bool IsSetJobName() { return this._jobName != null; } /// /// Gets and sets the property JobQueue. /// /// The Amazon Resource Name (ARN) of the job queue that the job is associated with. /// /// [AWSProperty(Required=true)] public string JobQueue { get { return this._jobQueue; } set { this._jobQueue = value; } } // Check to see if JobQueue property is set internal bool IsSetJobQueue() { return this._jobQueue != null; } /// /// Gets and sets the property NodeDetails. /// /// An object that represents the details of a node that's associated with a multi-node /// parallel job. /// /// public NodeDetails NodeDetails { get { return this._nodeDetails; } set { this._nodeDetails = value; } } // Check to see if NodeDetails property is set internal bool IsSetNodeDetails() { return this._nodeDetails != null; } /// /// Gets and sets the property NodeProperties. /// /// An object that represents the node properties of a multi-node parallel job. /// /// /// /// This isn't applicable to jobs that are running on Fargate resources. /// /// /// public NodeProperties NodeProperties { get { return this._nodeProperties; } set { this._nodeProperties = value; } } // Check to see if NodeProperties property is set internal bool IsSetNodeProperties() { return this._nodeProperties != null; } /// /// Gets and sets the property Parameters. /// /// Additional parameters that are passed to the job that replace parameter substitution /// placeholders or override any corresponding parameter defaults from the job definition. /// /// public Dictionary Parameters { get { return this._parameters; } set { this._parameters = value; } } // Check to see if Parameters property is set internal bool IsSetParameters() { return this._parameters != null && this._parameters.Count > 0; } /// /// Gets and sets the property PlatformCapabilities. /// /// 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 { return this._platformCapabilities; } set { this._platformCapabilities = value; } } // Check to see if PlatformCapabilities property is set internal bool IsSetPlatformCapabilities() { return this._platformCapabilities != null && this._platformCapabilities.Count > 0; } /// /// Gets and sets the property PropagateTags. /// /// 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 when the tasks are created. 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 { return this._propagateTags.GetValueOrDefault(); } set { this._propagateTags = value; } } // Check to see if PropagateTags property is set internal bool IsSetPropagateTags() { return this._propagateTags.HasValue; } /// /// Gets and sets the property RetryStrategy. /// /// The retry strategy to use for this job if an attempt fails. /// /// public RetryStrategy RetryStrategy { get { return this._retryStrategy; } set { this._retryStrategy = value; } } // Check to see if RetryStrategy property is set internal bool IsSetRetryStrategy() { return this._retryStrategy != null; } /// /// Gets and sets the property SchedulingPriority. /// /// The scheduling policy of the job definition. This only affects jobs in job queues /// with a fair share policy. Jobs with a higher scheduling priority are scheduled before /// jobs with a lower scheduling priority. /// /// public int SchedulingPriority { get { return this._schedulingPriority.GetValueOrDefault(); } set { this._schedulingPriority = value; } } // Check to see if SchedulingPriority property is set internal bool IsSetSchedulingPriority() { return this._schedulingPriority.HasValue; } /// /// Gets and sets the property ShareIdentifier. /// /// The share identifier for the job. /// /// public string ShareIdentifier { get { return this._shareIdentifier; } set { this._shareIdentifier = value; } } // Check to see if ShareIdentifier property is set internal bool IsSetShareIdentifier() { return this._shareIdentifier != null; } /// /// Gets and sets the property StartedAt. /// /// The Unix timestamp (in milliseconds) for when the job was started. More specifically, /// it's when the job transitioned from the STARTING state to the RUNNING /// state. This parameter isn't provided for child jobs of array jobs or multi-node parallel /// jobs. /// /// [AWSProperty(Required=true)] public long StartedAt { get { return this._startedAt.GetValueOrDefault(); } set { this._startedAt = value; } } // Check to see if StartedAt property is set internal bool IsSetStartedAt() { return this._startedAt.HasValue; } /// /// Gets and sets the property Status. /// /// The current status for the job. /// /// /// /// If your jobs don't progress to STARTING, see Jobs /// stuck in RUNNABLE status in the troubleshooting section of the Batch User Guide. /// /// /// [AWSProperty(Required=true)] public JobStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property StatusReason. /// /// A short, human-readable string to provide more details for the current status of the /// job. /// /// public string StatusReason { get { return this._statusReason; } set { this._statusReason = value; } } // Check to see if StatusReason property is set internal bool IsSetStatusReason() { return this._statusReason != null; } /// /// Gets and sets the property StoppedAt. /// /// The Unix timestamp (in milliseconds) for when the job was stopped. More specifically, /// it's when the job transitioned from the RUNNING state to a terminal state, /// such as SUCCEEDED or FAILED. /// /// public long StoppedAt { get { return this._stoppedAt.GetValueOrDefault(); } set { this._stoppedAt = value; } } // Check to see if StoppedAt property is set internal bool IsSetStoppedAt() { return this._stoppedAt.HasValue; } /// /// Gets and sets the property Tags. /// /// The tags that are applied to the job. /// /// [AWSProperty(Min=1, Max=50)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property Timeout. /// /// The timeout configuration for the job. /// /// public JobTimeout Timeout { get { return this._timeout; } set { this._timeout = value; } } // Check to see if Timeout property is set internal bool IsSetTimeout() { return this._timeout != null; } } }