/* * 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 swf-2012-01-25.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.SimpleWorkflow.Model { /// /// Container for the parameters to the PollForDecisionTask operation. /// Used by deciders to get a DecisionTask from the specified decision taskList. /// A decision task may be returned for any open workflow execution that is using the /// specified task list. The task includes a paginated view of the history of the workflow /// execution. The decider should use the workflow type and the history to determine how /// to properly handle the task. /// /// /// /// This action initiates a long poll, where the service holds the HTTP connection open /// and responds as soon a task becomes available. If no decision task is available in /// the specified task list before the timeout of 60 seconds expires, an empty result /// is returned. An empty result, in this context, means that a DecisionTask is returned, /// but that the value of taskToken is an empty string. /// /// /// /// Deciders should set their client side socket timeout to at least 70 seconds (10 seconds /// higher than the timeout). /// /// /// /// Because the number of workflow history events for a single workflow execution might /// be very large, the result returned might be split up across a number of pages. To /// retrieve subsequent pages, make additional calls to PollForDecisionTask /// using the nextPageToken returned by the initial call. Note that you do /// not call GetWorkflowExecutionHistory with this nextPageToken. /// Instead, call PollForDecisionTask again. /// /// /// /// Access Control /// /// /// /// You can use IAM policies to control this action's access to Amazon SWF resources as /// follows: /// /// /// /// If the caller doesn't have sufficient permissions to invoke the action, or the parameter /// values fall outside the specified constraints, the action fails. The associated event /// attribute's cause parameter is set to OPERATION_NOT_PERMITTED. /// For details and example IAM policies, see Using /// IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide. /// /// public partial class PollForDecisionTaskRequest : AmazonSimpleWorkflowRequest { private string _domain; private string _identity; private int? _maximumPageSize; private string _nextPageToken; private bool? _reverseOrder; private bool? _startAtPreviousStartedEvent; private TaskList _taskList; /// /// Gets and sets the property Domain. /// /// The name of the domain containing the task lists to poll. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string Domain { get { return this._domain; } set { this._domain = value; } } // Check to see if Domain property is set internal bool IsSetDomain() { return this._domain != null; } /// /// Gets and sets the property Identity. /// /// Identity of the decider making the request, which is recorded in the DecisionTaskStarted /// event in the workflow history. This enables diagnostic tracing when problems arise. /// The form of this identity is user defined. /// /// [AWSProperty(Max=256)] public string Identity { get { return this._identity; } set { this._identity = value; } } // Check to see if Identity property is set internal bool IsSetIdentity() { return this._identity != null; } /// /// Gets and sets the property MaximumPageSize. /// /// The maximum number of results that are returned per call. Use nextPageToken /// to obtain further pages of results. /// /// /// /// This is an upper limit only; the actual number of results returned per call may be /// fewer than the specified maximum. /// /// [AWSProperty(Min=0, Max=1000)] public int MaximumPageSize { get { return this._maximumPageSize.GetValueOrDefault(); } set { this._maximumPageSize = value; } } // Check to see if MaximumPageSize property is set internal bool IsSetMaximumPageSize() { return this._maximumPageSize.HasValue; } /// /// Gets and sets the property NextPageToken. /// /// If NextPageToken is returned there are more results available. The value /// of NextPageToken is a unique pagination token for each page. Make the /// call again using the returned token to retrieve the next page. Keep all other arguments /// unchanged. Each pagination token expires after 24 hours. Using an expired pagination /// token will return a 400 error: "Specified token has exceeded its /// maximum lifetime". /// /// /// /// The configured maximumPageSize determines how many results can be returned /// in a single call. /// /// /// /// The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory /// to get the next page. You must call PollForDecisionTask again (with the nextPageToken) /// to retrieve the next page of history records. Calling PollForDecisionTask with /// a nextPageToken doesn't return a new decision task. /// /// /// [AWSProperty(Max=2048)] public string NextPageToken { get { return this._nextPageToken; } set { this._nextPageToken = value; } } // Check to see if NextPageToken property is set internal bool IsSetNextPageToken() { return this._nextPageToken != null; } /// /// Gets and sets the property ReverseOrder. /// /// When set to true, returns the events in reverse order. By default the /// results are returned in ascending order of the eventTimestamp of the /// events. /// /// public bool ReverseOrder { get { return this._reverseOrder.GetValueOrDefault(); } set { this._reverseOrder = value; } } // Check to see if ReverseOrder property is set internal bool IsSetReverseOrder() { return this._reverseOrder.HasValue; } /// /// Gets and sets the property StartAtPreviousStartedEvent. /// /// When set to true, returns the events with eventTimestamp /// greater than or equal to eventTimestamp of the most recent DecisionTaskStarted /// event. By default, this parameter is set to false. /// /// public bool StartAtPreviousStartedEvent { get { return this._startAtPreviousStartedEvent.GetValueOrDefault(); } set { this._startAtPreviousStartedEvent = value; } } // Check to see if StartAtPreviousStartedEvent property is set internal bool IsSetStartAtPreviousStartedEvent() { return this._startAtPreviousStartedEvent.HasValue; } /// /// Gets and sets the property TaskList. /// /// Specifies the task list to poll for decision tasks. /// /// /// /// The specified string must not contain a : (colon), / (slash), /// | (vertical bar), or any control characters (\u0000-\u001f /// | \u007f-\u009f). Also, it must not be the literal string arn. /// /// [AWSProperty(Required=true)] public TaskList TaskList { get { return this._taskList; } set { this._taskList = value; } } // Check to see if TaskList property is set internal bool IsSetTaskList() { return this._taskList != null; } } }