public void RecordActivityTaskHeartbeatMarshallTest() { var request = InstantiateClassGenerator.Execute <RecordActivityTaskHeartbeatRequest>(); var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson <RecordActivityTaskHeartbeatRequest>(request, jsonRequest); var webResponse = new WebResponseData { Headers = { { "x-amzn-RequestId", Guid.NewGuid().ToString() }, { "x-amz-crc32", "0" } } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("RecordActivityTaskHeartbeat").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = RecordActivityTaskHeartbeatResponseUnmarshaller.Instance.Unmarshall(context) as RecordActivityTaskHeartbeatResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
IAsyncResult invokeRecordActivityTaskHeartbeat(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new RecordActivityTaskHeartbeatRequestMarshaller().Marshall(recordActivityTaskHeartbeatRequest); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para> Used by activity workers to report to the service that the ActivityTask represented by the specified <c>taskToken</c> is still making /// progress. The worker can also (optionally) specify details of the progress, for example percent complete, using the <c>details</c> /// 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 <c>cancelRequested</c> flag returned by the service is set to /// <c>true</c> . /// </para> <para> This action resets the <c>taskHeartbeatTimeout</c> clock. The <c>taskHeartbeatTimeout</c> is specified in /// RegisterActivityType. </para> <para> This action does not in itself create an event in the workflow execution history. However, if the task /// times out, the workflow execution history will contain a <c>ActivityTaskTimedOut</c> event that contains the information from the last /// heartbeat generated by the activity worker. </para> <para><b>NOTE:</b> 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. </para> <para><b>NOTE:</b> This operation is only useful for long-lived activities to report liveliness /// of the task and to determine if a cancellation is being attempted. </para> <para><b>IMPORTANT:</b> 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. </para> <para> <b>Access Control</b> </para> <para>You can use IAM policies to control this action's /// access to Amazon SWF resources as follows:</para> /// <ul> /// <li>Use a <c>Resource</c> element with the domain name to limit the action to only specified domains.</li> /// <li>Use an <c>Action</c> element to allow or deny permission to call this action.</li> /// <li>You cannot use an IAM policy to constrain this action's parameters.</li> /// /// </ul> /// <para>If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified /// constraints, the action fails by throwing <c>OperationNotPermitted</c> . For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> /// .</para> /// </summary> /// /// <param name="recordActivityTaskHeartbeatRequest">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat service /// method on AmazonSimpleWorkflow.</param> /// /// <returns>The response from the RecordActivityTaskHeartbeat service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="T:Amazon.SimpleWorkflow.Model.OperationNotPermittedException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.UnknownResourceException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<RecordActivityTaskHeartbeatResponse> RecordActivityTaskHeartbeatAsync(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.GetInstance(); return Invoke<IRequest, RecordActivityTaskHeartbeatRequest, RecordActivityTaskHeartbeatResponse>(recordActivityTaskHeartbeatRequest, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the RecordActivityTaskHeartbeat operation. /// <seealso cref="Amazon.SimpleWorkflow.IAmazonSimpleWorkflow"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<RecordActivityTaskHeartbeatResponse> RecordActivityTaskHeartbeatAsync(RecordActivityTaskHeartbeatRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.Instance; return InvokeAsync<RecordActivityTaskHeartbeatRequest,RecordActivityTaskHeartbeatResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Used by activity workers to report to the service that the <a>ActivityTask</a> represented /// by the specified <code>taskToken</code> is still making progress. The worker can also /// (optionally) specify details of the progress, for example percent complete, using /// the <code>details</code> 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 <code>cancelRequested</code> /// flag returned by the service is set to <code>true</code>. /// /// /// <para> /// This action resets the <code>taskHeartbeatTimeout</code> clock. The <code>taskHeartbeatTimeout</code> /// is specified in <a>RegisterActivityType</a>. /// </para> /// /// <para> /// This action does not in itself create an event in the workflow execution history. /// However, if the task times out, the workflow execution history will contain a <code>ActivityTaskTimedOut</code> /// event that contains the information from the last heartbeat generated by the activity /// worker. /// </para> /// <important> If the <code>cancelRequested</code> flag returns <code>true</code>, a /// cancellation is being attempted. If the worker can cancel the activity, it should /// respond with <a>RespondActivityTaskCanceled</a>. Otherwise, it should ignore the cancellation /// request. </important> /// <para> /// <b>Access Control</b> /// </para> /// /// <para> /// You can use IAM policies to control this action's access to Amazon SWF resources as /// follows: /// </para> /// <ul> <li>Use a <code>Resource</code> element with the domain name to limit the action /// to only specified domains.</li> <li>Use an <code>Action</code> element to allow or /// deny permission to call this action.</li> <li>You cannot use an IAM policy to constrain /// this action's parameters.</li> </ul> /// <para> /// If the caller does not have sufficient permissions to invoke the action, or the parameter /// values fall outside the specified constraints, the action fails by throwing <code>OperationNotPermitted</code>. /// For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using /// IAM to Manage Access to Amazon SWF Workflows</a>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat service method.</param> /// /// <returns>The response from the RecordActivityTaskHeartbeat service method, as returned by SimpleWorkflow.</returns> /// <exception cref="OperationNotPermittedException"> /// Returned when the caller does not have sufficient permissions to invoke the action. /// </exception> /// <exception cref="UnknownResourceException"> /// Returned when the named resource cannot be found with in the scope of this operation /// (region or domain). This could happen if the named resource was never created or is /// no longer available for this operation. /// </exception> public RecordActivityTaskHeartbeatResponse RecordActivityTaskHeartbeat(RecordActivityTaskHeartbeatRequest request) { var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.Instance; return Invoke<RecordActivityTaskHeartbeatRequest,RecordActivityTaskHeartbeatResponse>(request, marshaller, unmarshaller); }
public void RecordActivityTaskHeartbeatMarshallTest() { var request = InstantiateClassGenerator.Execute<RecordActivityTaskHeartbeatRequest>(); var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson<RecordActivityTaskHeartbeatRequest>(request,jsonRequest); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("RecordActivityTaskHeartbeat").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = RecordActivityTaskHeartbeatResponseUnmarshaller.Instance.Unmarshall(context) as RecordActivityTaskHeartbeatResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
/// <summary> /// Initiates the asynchronous execution of the RecordActivityTaskHeartbeat operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat operation on AmazonSimpleWorkflowClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndRecordActivityTaskHeartbeat /// operation.</returns> public IAsyncResult BeginRecordActivityTaskHeartbeat(RecordActivityTaskHeartbeatRequest request, AsyncCallback callback, object state) { var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.Instance; return BeginInvoke<RecordActivityTaskHeartbeatRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// <para> Used by activity workers to report to the service that the ActivityTask represented by the specified <c>taskToken</c> is still making /// progress. The worker can also (optionally) specify details of the progress, for example percent complete, using the <c>details</c> /// 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 <c>cancelRequested</c> flag returned by the service is set to /// <c>true</c> . /// </para> <para> This action resets the <c>taskHeartbeatTimeout</c> clock. The <c>taskHeartbeatTimeout</c> is specified in /// RegisterActivityType. </para> <para> This action does not in itself create an event in the workflow execution history. However, if the task /// times out, the workflow execution history will contain a <c>ActivityTaskTimedOut</c> event that contains the information from the last /// heartbeat generated by the activity worker. </para> <para><b>NOTE:</b> 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. </para> <para><b>NOTE:</b> This operation is only useful for long-lived activities to report liveliness /// of the task and to determine if a cancellation is being attempted. </para> <para><b>IMPORTANT:</b> 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. </para> <para> <b>Access Control</b> </para> <para>You can use IAM policies to control this action's /// access to Amazon SWF resources as follows:</para> /// <ul> /// <li>Use a <c>Resource</c> element with the domain name to limit the action to only specified domains.</li> /// <li>Use an <c>Action</c> element to allow or deny permission to call this action.</li> /// <li>You cannot use an IAM policy to constrain this action's parameters.</li> /// /// </ul> /// <para>If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified /// constraints, the action fails by throwing <c>OperationNotPermitted</c> . For details and example IAM policies, see <a href="http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> /// .</para> /// </summary> /// /// <param name="recordActivityTaskHeartbeatRequest">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat service /// method on AmazonSimpleWorkflow.</param> /// /// <returns>The response from the RecordActivityTaskHeartbeat service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="T:Amazon.SimpleWorkflow.Model.OperationNotPermittedException" /> /// <exception cref="T:Amazon.SimpleWorkflow.Model.UnknownResourceException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<RecordActivityTaskHeartbeatResponse> RecordActivityTaskHeartbeatAsync(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new RecordActivityTaskHeartbeatRequestMarshaller(); var unmarshaller = RecordActivityTaskHeartbeatResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, RecordActivityTaskHeartbeatRequest, RecordActivityTaskHeartbeatResponse>(recordActivityTaskHeartbeatRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para> Used by activity workers to report to the service that the ActivityTask represented by the specified <c>taskToken</c> is still making /// progress. The worker can also (optionally) specify details of the progress, for example percent complete, using the <c>details</c> /// 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 <c>cancelRequested</c> flag returned by the service is set to /// <c>true</c> . /// </para> <para> This action resets the <c>taskHeartbeatTimeout</c> clock. The <c>taskHeartbeatTimeout</c> is specified in /// RegisterActivityType. </para> <para> This action does not in itself create an event in the workflow execution history. However, if the task /// times out, the workflow execution history will contain a <c>ActivityTaskTimedOut</c> event that contains the information from the last /// heartbeat generated by the activity worker. </para> <para><b>NOTE:</b> 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. </para> <para><b>NOTE:</b> This operation is only useful for long-lived activities to report liveliness /// of the task and to determine if a cancellation is being attempted. </para> <para><b>IMPORTANT:</b> 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. </para> /// </summary> /// /// <param name="recordActivityTaskHeartbeatRequest">Container for the necessary parameters to execute the RecordActivityTaskHeartbeat service /// method on AmazonSimpleWorkflow.</param> /// /// <returns>The response from the RecordActivityTaskHeartbeat service method, as returned by AmazonSimpleWorkflow.</returns> /// /// <exception cref="OperationNotPermittedException"/> /// <exception cref="UnknownResourceException"/> public RecordActivityTaskHeartbeatResponse RecordActivityTaskHeartbeat(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest) { IRequest<RecordActivityTaskHeartbeatRequest> request = new RecordActivityTaskHeartbeatRequestMarshaller().Marshall(recordActivityTaskHeartbeatRequest); RecordActivityTaskHeartbeatResponse response = Invoke<RecordActivityTaskHeartbeatRequest, RecordActivityTaskHeartbeatResponse> (request, this.signer, RecordActivityTaskHeartbeatResponseUnmarshaller.GetInstance()); return response; }