/*
* 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 RecordActivityTaskHeartbeat operation.
/// Used by activity workers to report to the service that the ActivityTask represented
/// by the specified taskToken
is still making progress. The worker can also
/// specify details of the progress, for example percent complete, using the details
/// parameter. This action can also be used by the worker as a mechanism to check if cancellation
/// is being requested for the activity task. If a cancellation is being attempted for
/// the specified task, then the boolean cancelRequested
flag returned by
/// the service is set to true
.
///
///
///
/// This action resets the taskHeartbeatTimeout
clock. The taskHeartbeatTimeout
/// is specified in RegisterActivityType.
///
///
///
/// This action doesn't in itself create an event in the workflow execution history. However,
/// if the task times out, the workflow execution history contains a ActivityTaskTimedOut
/// event that contains the information from the last heartbeat generated by the activity
/// worker.
///
///
///
/// The taskStartToCloseTimeout
of an activity type is the maximum duration
/// of an activity task, regardless of the number of RecordActivityTaskHeartbeat
/// requests received. The taskStartToCloseTimeout
is also specified in RegisterActivityType.
///
///
///
/// This operation is only useful for long-lived activities to report liveliness of the
/// task and to determine if a cancellation is being attempted.
///
///
///
/// If the cancelRequested
flag returns true
, a cancellation
/// is being attempted. If the worker can cancel the activity, it should respond with
/// RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request.
///
///
///
/// Access Control
///
///
///
/// You can use IAM policies to control this action's access to Amazon SWF resources as
/// follows:
///
/// -
///
/// Use a
Resource
element with the domain name to limit the action to only
/// specified domains.
///
/// -
///
/// Use an
Action
element to allow or deny permission to call this action.
///
/// -
///
/// You cannot use an IAM policy to constrain this action's parameters.
///
///
///
/// 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 RecordActivityTaskHeartbeatRequest : AmazonSimpleWorkflowRequest
{
private string _details;
private string _taskToken;
///
/// Gets and sets the property Details.
///
/// If specified, contains details about the progress of the task.
///
///
[AWSProperty(Max=2048)]
public string Details
{
get { return this._details; }
set { this._details = value; }
}
// Check to see if Details property is set
internal bool IsSetDetails()
{
return this._details != null;
}
///
/// Gets and sets the property TaskToken.
///
/// The taskToken
of the ActivityTask.
///
///
///
/// taskToken
is generated by the service and should be treated as an opaque
/// value. If the task is passed to another process, its taskToken
must also
/// be passed. This enables it to provide its progress and respond with results.
///
///
///
[AWSProperty(Required=true, Min=1, Max=1024)]
public string TaskToken
{
get { return this._taskToken; }
set { this._taskToken = value; }
}
// Check to see if TaskToken property is set
internal bool IsSetTaskToken()
{
return this._taskToken != null;
}
}
}