/*
* 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 iot-2015-05-28.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.IoT.Model
{
///
/// The job summary.
///
public partial class JobSummary
{
private DateTime? _completedAt;
private DateTime? _createdAt;
private bool? _isConcurrent;
private string _jobArn;
private string _jobId;
private DateTime? _lastUpdatedAt;
private JobStatus _status;
private TargetSelection _targetSelection;
private string _thingGroupId;
///
/// Gets and sets the property CompletedAt.
///
/// The time, in seconds since the epoch, when the job completed.
///
///
public DateTime CompletedAt
{
get { return this._completedAt.GetValueOrDefault(); }
set { this._completedAt = value; }
}
// Check to see if CompletedAt property is set
internal bool IsSetCompletedAt()
{
return this._completedAt.HasValue;
}
///
/// Gets and sets the property CreatedAt.
///
/// The time, in seconds since the epoch, when the job was created.
///
///
public DateTime 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 IsConcurrent.
///
/// Indicates whether a job is concurrent. Will be true when a job is rolling out new
/// job executions or canceling previously created executions, otherwise false.
///
///
public bool IsConcurrent
{
get { return this._isConcurrent.GetValueOrDefault(); }
set { this._isConcurrent = value; }
}
// Check to see if IsConcurrent property is set
internal bool IsSetIsConcurrent()
{
return this._isConcurrent.HasValue;
}
///
/// Gets and sets the property JobArn.
///
/// The job ARN.
///
///
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 JobId.
///
/// The unique identifier you assigned to this job when it was created.
///
///
[AWSProperty(Min=1, Max=64)]
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 LastUpdatedAt.
///
/// The time, in seconds since the epoch, when the job was last updated.
///
///
public DateTime LastUpdatedAt
{
get { return this._lastUpdatedAt.GetValueOrDefault(); }
set { this._lastUpdatedAt = value; }
}
// Check to see if LastUpdatedAt property is set
internal bool IsSetLastUpdatedAt()
{
return this._lastUpdatedAt.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The job summary status.
///
///
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 TargetSelection.
///
/// Specifies whether the job will continue to run (CONTINUOUS), or will be complete after
/// all those things specified as targets have completed the job (SNAPSHOT). If continuous,
/// the job may also be run on a thing when a change is detected in a target. For example,
/// a job will run on a thing when the thing is added to a target group, even after the
/// job was completed by all things originally in the group.
///
///
///
/// We recommend that you use continuous jobs instead of snapshot jobs for dynamic thing
/// group targets. By using continuous jobs, devices that join the group receive the job
/// execution even after the job has been created.
///
///
///
public TargetSelection TargetSelection
{
get { return this._targetSelection; }
set { this._targetSelection = value; }
}
// Check to see if TargetSelection property is set
internal bool IsSetTargetSelection()
{
return this._targetSelection != null;
}
///
/// Gets and sets the property ThingGroupId.
///
/// The ID of the thing group.
///
///
[AWSProperty(Min=1, Max=128)]
public string ThingGroupId
{
get { return this._thingGroupId; }
set { this._thingGroupId = value; }
}
// Check to see if ThingGroupId property is set
internal bool IsSetThingGroupId()
{
return this._thingGroupId != null;
}
}
}