/* * 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 { /// <summary> /// Container for the parameters to the ListJobs operation. /// Lists jobs. /// /// /// <para> /// Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ListJobs</a> /// action. /// </para> /// </summary> public partial class ListJobsRequest : AmazonIoTRequest { private int? _maxResults; private string _namespaceId; private string _nextToken; private JobStatus _status; private TargetSelection _targetSelection; private string _thingGroupId; private string _thingGroupName; /// <summary> /// Gets and sets the property MaxResults. /// <para> /// The maximum number of results to return per request. /// </para> /// </summary> [AWSProperty(Min=1, Max=250)] public int MaxResults { get { return this._maxResults.GetValueOrDefault(); } set { this._maxResults = value; } } // Check to see if MaxResults property is set internal bool IsSetMaxResults() { return this._maxResults.HasValue; } /// <summary> /// Gets and sets the property NamespaceId. /// <para> /// The namespace used to indicate that a job is a customer-managed job. /// </para> /// /// <para> /// When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs /// notifications to MQTT topics that contain the value in the following format. /// </para> /// /// <para> /// <code>$aws/things/<i>THING_NAME</i>/jobs/<i>JOB_ID</i>/notify-namespace-<i>NAMESPACE_ID</i>/</code> /// /// </para> /// <note> /// <para> /// The <code>namespaceId</code> feature is in public preview. /// </para> /// </note> /// </summary> public string NamespaceId { get { return this._namespaceId; } set { this._namespaceId = value; } } // Check to see if NamespaceId property is set internal bool IsSetNamespaceId() { return this._namespaceId != null; } /// <summary> /// Gets and sets the property NextToken. /// <para> /// The token to retrieve the next set of results. /// </para> /// </summary> public string NextToken { get { return this._nextToken; } set { this._nextToken = value; } } // Check to see if NextToken property is set internal bool IsSetNextToken() { return this._nextToken != null; } /// <summary> /// Gets and sets the property Status. /// <para> /// An optional filter that lets you search for jobs that have the specified status. /// </para> /// </summary> 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; } /// <summary> /// Gets and sets the property TargetSelection. /// <para> /// 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. /// </para> /// <note> /// <para> /// 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. /// </para> /// </note> /// </summary> 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; } /// <summary> /// Gets and sets the property ThingGroupId. /// <para> /// A filter that limits the returned jobs to those for the specified group. /// </para> /// </summary> [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; } /// <summary> /// Gets and sets the property ThingGroupName. /// <para> /// A filter that limits the returned jobs to those for the specified group. /// </para> /// </summary> [AWSProperty(Min=1, Max=128)] public string ThingGroupName { get { return this._thingGroupName; } set { this._thingGroupName = value; } } // Check to see if ThingGroupName property is set internal bool IsSetThingGroupName() { return this._thingGroupName != null; } } }