com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowAsync Maven / Gradle / Ivy
Show all versions of aws-java-sdk-simpleworkflow Show documentation
/*
 * Copyright 2011-2016 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.
 */
package com.amazonaws.services.simpleworkflow;
import com.amazonaws.services.simpleworkflow.model.*;
/**
 * Interface for accessing Amazon SWF asynchronously. Each asynchronous method will return a Java Future object
 * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
 * notification when an asynchronous operation completes.
 * 
 * Amazon Simple Workflow Service 
 * 
 * The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to
 * coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is
 * performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies,
 * scheduling, and concurrency in accordance with the logical flow of the application.
 * 
 * 
 * Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying
 * complexities such as tracking their progress and maintaining their state.
 * 
 * 
 * This documentation serves as reference only. For a broader overview of the Amazon SWF programming model, see the Amazon SWF Developer Guide.
 * 
 */
public interface AmazonSimpleWorkflowAsync extends AmazonSimpleWorkflow {
    /**
     * 
     * Returns the number of closed workflow executions within the given domain that meet the specified filtering
     * criteria.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countClosedWorkflowExecutionsRequest
     * @return A Java Future containing the result of the CountClosedWorkflowExecutions operation returned by the
     *         service.
     * @sample AmazonSimpleWorkflowAsync.CountClosedWorkflowExecutions
     */
    java.util.concurrent.Future countClosedWorkflowExecutionsAsync(
            CountClosedWorkflowExecutionsRequest countClosedWorkflowExecutionsRequest);
    /**
     * 
     * Returns the number of closed workflow executions within the given domain that meet the specified filtering
     * criteria.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countClosedWorkflowExecutionsRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the CountClosedWorkflowExecutions operation returned by the
     *         service.
     * @sample AmazonSimpleWorkflowAsyncHandler.CountClosedWorkflowExecutions
     */
    java.util.concurrent.Future countClosedWorkflowExecutionsAsync(
            CountClosedWorkflowExecutionsRequest countClosedWorkflowExecutionsRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns the number of open workflow executions within the given domain that meet the specified filtering
     * criteria.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countOpenWorkflowExecutionsRequest
     * @return A Java Future containing the result of the CountOpenWorkflowExecutions operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.CountOpenWorkflowExecutions
     */
    java.util.concurrent.Future countOpenWorkflowExecutionsAsync(CountOpenWorkflowExecutionsRequest countOpenWorkflowExecutionsRequest);
    /**
     * 
     * Returns the number of open workflow executions within the given domain that meet the specified filtering
     * criteria.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countOpenWorkflowExecutionsRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the CountOpenWorkflowExecutions operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.CountOpenWorkflowExecutions
     */
    java.util.concurrent.Future countOpenWorkflowExecutionsAsync(CountOpenWorkflowExecutionsRequest countOpenWorkflowExecutionsRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation
     * and is not guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0
     * will be returned.
     * 
     * 
     * 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countPendingActivityTasksRequest
     * @return A Java Future containing the result of the CountPendingActivityTasks operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.CountPendingActivityTasks
     */
    java.util.concurrent.Future countPendingActivityTasksAsync(CountPendingActivityTasksRequest countPendingActivityTasksRequest);
    /**
     * 
     * Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation
     * and is not guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0
     * will be returned.
     * 
     * 
     * 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countPendingActivityTasksRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the CountPendingActivityTasks operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.CountPendingActivityTasks
     */
    java.util.concurrent.Future countPendingActivityTasksAsync(CountPendingActivityTasksRequest countPendingActivityTasksRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation
     * and is not guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0
     * will be returned.
     * 
     * 
     * 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countPendingDecisionTasksRequest
     * @return A Java Future containing the result of the CountPendingDecisionTasks operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.CountPendingDecisionTasks
     */
    java.util.concurrent.Future countPendingDecisionTasksAsync(CountPendingDecisionTasksRequest countPendingDecisionTasksRequest);
    /**
     * 
     * Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation
     * and is not guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0
     * will be returned.
     * 
     * 
     * 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param countPendingDecisionTasksRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the CountPendingDecisionTasks operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.CountPendingDecisionTasks
     */
    java.util.concurrent.Future countPendingDecisionTasksAsync(CountPendingDecisionTasksRequest countPendingDecisionTasksRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new
     * tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated will continue
     * to run.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * activityType.name: String constraint. The key is swf:activityType.name. 
     * activityType.version: String constraint. The key is swf:activityType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateActivityTypeRequest
     * @sample AmazonSimpleWorkflowAsync.DeprecateActivityType
     */
    java.util.concurrent.Future deprecateActivityTypeAsync(DeprecateActivityTypeRequest deprecateActivityTypeRequest);
    /**
     * 
     * Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new
     * tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated will continue
     * to run.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * activityType.name: String constraint. The key is swf:activityType.name. 
     * activityType.version: String constraint. The key is swf:activityType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateActivityTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.DeprecateActivityType
     */
    java.util.concurrent.Future deprecateActivityTypeAsync(DeprecateActivityTypeRequest deprecateActivityTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow
     * executions or register new types. However, you can still use visibility actions on this domain. Deprecating a
     * domain also deprecates all activity and workflow types registered in the domain. Executions that were started
     * before the domain was deprecated will continue to run.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateDomainRequest
     * @sample AmazonSimpleWorkflowAsync.DeprecateDomain
     */
    java.util.concurrent.Future deprecateDomainAsync(DeprecateDomainRequest deprecateDomainRequest);
    /**
     * 
     * Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow
     * executions or register new types. However, you can still use visibility actions on this domain. Deprecating a
     * domain also deprecates all activity and workflow types registered in the domain. Executions that were started
     * before the domain was deprecated will continue to run.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateDomainRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.DeprecateDomain
     */
    java.util.concurrent.Future deprecateDomainAsync(DeprecateDomainRequest deprecateDomainRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new
     * executions of that type. Executions that were started before the type was deprecated will continue to run. A
     * deprecated workflow type may still be used when calling visibility actions.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateWorkflowTypeRequest
     * @sample AmazonSimpleWorkflowAsync.DeprecateWorkflowType
     */
    java.util.concurrent.Future deprecateWorkflowTypeAsync(DeprecateWorkflowTypeRequest deprecateWorkflowTypeRequest);
    /**
     * 
     * Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new
     * executions of that type. Executions that were started before the type was deprecated will continue to run. A
     * deprecated workflow type may still be used when calling visibility actions.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param deprecateWorkflowTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.DeprecateWorkflowType
     */
    java.util.concurrent.Future deprecateWorkflowTypeAsync(DeprecateWorkflowTypeRequest deprecateWorkflowTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about the specified activity type. This includes configuration settings provided when the
     * type was registered and other general information about the type.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * activityType.name: String constraint. The key is swf:activityType.name. 
     * activityType.version: String constraint. The key is swf:activityType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeActivityTypeRequest
     * @return A Java Future containing the result of the DescribeActivityType operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.DescribeActivityType
     */
    java.util.concurrent.Future describeActivityTypeAsync(DescribeActivityTypeRequest describeActivityTypeRequest);
    /**
     * 
     * Returns information about the specified activity type. This includes configuration settings provided when the
     * type was registered and other general information about the type.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * activityType.name: String constraint. The key is swf:activityType.name. 
     * activityType.version: String constraint. The key is swf:activityType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeActivityTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the DescribeActivityType operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.DescribeActivityType
     */
    java.util.concurrent.Future describeActivityTypeAsync(DescribeActivityTypeRequest describeActivityTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about the specified domain, including description and status.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeDomainRequest
     * @return A Java Future containing the result of the DescribeDomain operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.DescribeDomain
     */
    java.util.concurrent.Future describeDomainAsync(DescribeDomainRequest describeDomainRequest);
    /**
     * 
     * Returns information about the specified domain, including description and status.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeDomainRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the DescribeDomain operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.DescribeDomain
     */
    java.util.concurrent.Future describeDomainAsync(DescribeDomainRequest describeDomainRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about the specified workflow execution including its type and some statistics.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeWorkflowExecutionRequest
     * @return A Java Future containing the result of the DescribeWorkflowExecution operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.DescribeWorkflowExecution
     */
    java.util.concurrent.Future describeWorkflowExecutionAsync(DescribeWorkflowExecutionRequest describeWorkflowExecutionRequest);
    /**
     * 
     * Returns information about the specified workflow execution including its type and some statistics.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeWorkflowExecutionRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the DescribeWorkflowExecution operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.DescribeWorkflowExecution
     */
    java.util.concurrent.Future describeWorkflowExecutionAsync(DescribeWorkflowExecutionRequest describeWorkflowExecutionRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about the specified workflow type. This includes configuration settings specified when
     * the type was registered and other information such as creation date, current status, and so on.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeWorkflowTypeRequest
     * @return A Java Future containing the result of the DescribeWorkflowType operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.DescribeWorkflowType
     */
    java.util.concurrent.Future describeWorkflowTypeAsync(DescribeWorkflowTypeRequest describeWorkflowTypeRequest);
    /**
     * 
     * Returns information about the specified workflow type. This includes configuration settings specified when
     * the type was registered and other information such as creation date, current status, and so on.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param describeWorkflowTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the DescribeWorkflowType operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.DescribeWorkflowType
     */
    java.util.concurrent.Future describeWorkflowTypeAsync(DescribeWorkflowTypeRequest describeWorkflowTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns the history of the specified workflow execution. The results may be split into multiple pages. To
     * retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param getWorkflowExecutionHistoryRequest
     * @return A Java Future containing the result of the GetWorkflowExecutionHistory operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.GetWorkflowExecutionHistory
     */
    java.util.concurrent.Future getWorkflowExecutionHistoryAsync(GetWorkflowExecutionHistoryRequest getWorkflowExecutionHistoryRequest);
    /**
     * 
     * Returns the history of the specified workflow execution. The results may be split into multiple pages. To
     * retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param getWorkflowExecutionHistoryRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the GetWorkflowExecutionHistory operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.GetWorkflowExecutionHistory
     */
    java.util.concurrent.Future getWorkflowExecutionHistoryAsync(GetWorkflowExecutionHistoryRequest getWorkflowExecutionHistoryRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about all activities registered in the specified domain that match the specified name and
     * registration status. The result includes information like creation date, current status of the activity, etc. The
     * results may be split into multiple pages. To retrieve subsequent pages, make the call again using the
     * nextPageToken returned by the initial call.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listActivityTypesRequest
     * @return A Java Future containing the result of the ListActivityTypes operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.ListActivityTypes
     */
    java.util.concurrent.Future listActivityTypesAsync(ListActivityTypesRequest listActivityTypesRequest);
    /**
     * 
     * Returns information about all activities registered in the specified domain that match the specified name and
     * registration status. The result includes information like creation date, current status of the activity, etc. The
     * results may be split into multiple pages. To retrieve subsequent pages, make the call again using the
     * nextPageToken returned by the initial call.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listActivityTypesRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the ListActivityTypes operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.ListActivityTypes
     */
    java.util.concurrent.Future listActivityTypesAsync(ListActivityTypesRequest listActivityTypesRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The
     * results may be split into multiple pages. To retrieve subsequent pages, make the call again using the
     * nextPageToken returned by the initial call.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listClosedWorkflowExecutionsRequest
     * @return A Java Future containing the result of the ListClosedWorkflowExecutions operation returned by the
     *         service.
     * @sample AmazonSimpleWorkflowAsync.ListClosedWorkflowExecutions
     */
    java.util.concurrent.Future listClosedWorkflowExecutionsAsync(
            ListClosedWorkflowExecutionsRequest listClosedWorkflowExecutionsRequest);
    /**
     * 
     * Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The
     * results may be split into multiple pages. To retrieve subsequent pages, make the call again using the
     * nextPageToken returned by the initial call.
     * 
     * This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listClosedWorkflowExecutionsRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the ListClosedWorkflowExecutions operation returned by the
     *         service.
     * @sample AmazonSimpleWorkflowAsyncHandler.ListClosedWorkflowExecutions
     */
    java.util.concurrent.Future listClosedWorkflowExecutionsAsync(
            ListClosedWorkflowExecutionsRequest listClosedWorkflowExecutionsRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve
     * subsequent pages, make the call again using the nextPageToken returned by the initial call.
     * 
     *  This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. The
     * element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID,
     * with no dashes. 
     * - 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listDomainsRequest
     * @return A Java Future containing the result of the ListDomains operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.ListDomains
     */
    java.util.concurrent.Future listDomainsAsync(ListDomainsRequest listDomainsRequest);
    /**
     * 
     * Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve
     * subsequent pages, make the call again using the nextPageToken returned by the initial call.
     * 
     *  This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. The
     * element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID,
     * with no dashes. 
     * - 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listDomainsRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the ListDomains operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.ListDomains
     */
    java.util.concurrent.Future listDomainsAsync(ListDomainsRequest listDomainsRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results
     * may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken
     * returned by the initial call.
     * 
     *  This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listOpenWorkflowExecutionsRequest
     * @return A Java Future containing the result of the ListOpenWorkflowExecutions operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.ListOpenWorkflowExecutions
     */
    java.util.concurrent.Future listOpenWorkflowExecutionsAsync(ListOpenWorkflowExecutionsRequest listOpenWorkflowExecutionsRequest);
    /**
     * 
     * Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results
     * may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken
     * returned by the initial call.
     * 
     *  This operation is eventually consistent. The results are best effort and may not exactly reflect recent
     * updates and changes. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * tagFilter.tag: String constraint. The key is swf:tagFilter.tag. 
     * typeFilter.name: String constraint. The key is swf:typeFilter.name. 
     * typeFilter.version: String constraint. The key is swf:typeFilter.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listOpenWorkflowExecutionsRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the ListOpenWorkflowExecutions operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.ListOpenWorkflowExecutions
     */
    java.util.concurrent.Future listOpenWorkflowExecutionsAsync(ListOpenWorkflowExecutionsRequest listOpenWorkflowExecutionsRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Returns information about workflow types in the specified domain. The results may be split into multiple pages
     * that can be retrieved by making the call repeatedly.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listWorkflowTypesRequest
     * @return A Java Future containing the result of the ListWorkflowTypes operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.ListWorkflowTypes
     */
    java.util.concurrent.Future listWorkflowTypesAsync(ListWorkflowTypesRequest listWorkflowTypesRequest);
    /**
     * 
     * Returns information about workflow types in the specified domain. The results may be split into multiple pages
     * that can be retrieved by making the call repeatedly.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param listWorkflowTypesRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the ListWorkflowTypes operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.ListWorkflowTypes
     */
    java.util.concurrent.Future listWorkflowTypesAsync(ListWorkflowTypesRequest listWorkflowTypesRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Used by workers to get an ActivityTask from the specified activity taskList. This initiates a
     * long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The
     * maximum time the service holds on to the request before responding is 60 seconds. If no task is available within
     * 60 seconds, the poll will return an empty result. An empty result, in this context, means that an ActivityTask is
     * returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its
     * type to identify and process it correctly.
     * 
     * Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the
     * maximum time service may hold the poll 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param pollForActivityTaskRequest
     * @return A Java Future containing the result of the PollForActivityTask operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.PollForActivityTask
     */
    java.util.concurrent.Future pollForActivityTaskAsync(PollForActivityTaskRequest pollForActivityTaskRequest);
    /**
     * 
     * Used by workers to get an ActivityTask from the specified activity taskList. This initiates a
     * long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The
     * maximum time the service holds on to the request before responding is 60 seconds. If no task is available within
     * 60 seconds, the poll will return an empty result. An empty result, in this context, means that an ActivityTask is
     * returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its
     * type to identify and process it correctly.
     * 
     * Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the
     * maximum time service may hold the poll 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param pollForActivityTaskRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the PollForActivityTask operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.PollForActivityTask
     */
    java.util.concurrent.Future pollForActivityTaskAsync(PollForActivityTaskRequest pollForActivityTaskRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * 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:
     * 
     * 
     * - 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param pollForDecisionTaskRequest
     * @return A Java Future containing the result of the PollForDecisionTask operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.PollForDecisionTask
     */
    java.util.concurrent.Future pollForDecisionTaskAsync(PollForDecisionTaskRequest pollForDecisionTaskRequest);
    /**
     * 
     * 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:
     * 
     * 
     * - 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. 
     * - Constrain the 
taskList.name parameter by using a Condition element with the
     * swf:taskList.name key to allow the action to access only certain task lists. 
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param pollForDecisionTaskRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the PollForDecisionTask operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.PollForDecisionTask
     */
    java.util.concurrent.Future pollForDecisionTaskAsync(PollForDecisionTaskRequest pollForDecisionTaskRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * 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 (optionally) 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 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 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param recordActivityTaskHeartbeatRequest
     * @return A Java Future containing the result of the RecordActivityTaskHeartbeat operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.RecordActivityTaskHeartbeat
     */
    java.util.concurrent.Future recordActivityTaskHeartbeatAsync(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest);
    /**
     * 
     * 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 (optionally) 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 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 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param recordActivityTaskHeartbeatRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the RecordActivityTaskHeartbeat operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.RecordActivityTaskHeartbeat
     */
    java.util.concurrent.Future recordActivityTaskHeartbeatAsync(RecordActivityTaskHeartbeatRequest recordActivityTaskHeartbeatRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Registers a new activity type along with its configuration settings in the specified domain.
     * 
     * A TypeAlreadyExists fault is returned if the type already exists in the domain. You
     * cannot change any configuration settings of the type after its registration, and it must be registered as a new
     * version. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. 
     * -  
name: String constraint. The key is swf:name. 
     * -  
version: String constraint. The key is swf:version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerActivityTypeRequest
     * @sample AmazonSimpleWorkflowAsync.RegisterActivityType
     */
    java.util.concurrent.Future registerActivityTypeAsync(RegisterActivityTypeRequest registerActivityTypeRequest);
    /**
     * 
     * Registers a new activity type along with its configuration settings in the specified domain.
     * 
     * A TypeAlreadyExists fault is returned if the type already exists in the domain. You
     * cannot change any configuration settings of the type after its registration, and it must be registered as a new
     * version. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. 
     * -  
name: String constraint. The key is swf:name. 
     * -  
version: String constraint. The key is swf:version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerActivityTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RegisterActivityType
     */
    java.util.concurrent.Future registerActivityTypeAsync(RegisterActivityTypeRequest registerActivityTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Registers a new domain.
     * 
     * 
     * Access Control
     * 
     * 
     * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
     * 
     * 
     * - You cannot use an IAM policy to control domain access for this action. The name of the domain being
     * registered is available as the resource of this action.
 
     * - 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerDomainRequest
     * @sample AmazonSimpleWorkflowAsync.RegisterDomain
     */
    java.util.concurrent.Future registerDomainAsync(RegisterDomainRequest registerDomainRequest);
    /**
     * 
     * Registers a new domain.
     * 
     * 
     * Access Control
     * 
     * 
     * You can use IAM policies to control this action's access to Amazon SWF resources as follows:
     * 
     * 
     * - You cannot use an IAM policy to control domain access for this action. The name of the domain being
     * registered is available as the resource of this action.
 
     * - 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerDomainRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RegisterDomain
     */
    java.util.concurrent.Future registerDomainAsync(RegisterDomainRequest registerDomainRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Registers a new workflow type and its configuration settings in the specified domain.
     * 
     * 
     * The retention period for the workflow history is set by the RegisterDomain action.
     * 
     * If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change
     * the configuration settings of a workflow type once it is registered and it must be registered as a new
     * version. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. 
     * -  
name: String constraint. The key is swf:name. 
     * -  
version: String constraint. The key is swf:version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerWorkflowTypeRequest
     * @sample AmazonSimpleWorkflowAsync.RegisterWorkflowType
     */
    java.util.concurrent.Future registerWorkflowTypeAsync(RegisterWorkflowTypeRequest registerWorkflowTypeRequest);
    /**
     * 
     * Registers a new workflow type and its configuration settings in the specified domain.
     * 
     * 
     * The retention period for the workflow history is set by the RegisterDomain action.
     * 
     * If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change
     * the configuration settings of a workflow type once it is registered and it must be registered as a new
     * version. 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name. 
     * -  
name: String constraint. The key is swf:name. 
     * -  
version: String constraint. The key is swf:version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param registerWorkflowTypeRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RegisterWorkflowType
     */
    java.util.concurrent.Future registerWorkflowTypeAsync(RegisterWorkflowTypeRequest registerWorkflowTypeRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Records a WorkflowExecutionCancelRequested event in the currently running workflow execution
     * identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow
     * execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history
     * with this event.
     * 
     * If the runId is not specified, the WorkflowExecutionCancelRequested event is recorded in the
     * history of the current open workflow execution with the specified workflowId in the domain.  Because
     * this action allows the workflow to properly clean up and gracefully close, it should be used instead of
     * TerminateWorkflowExecution when possible. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param requestCancelWorkflowExecutionRequest
     * @sample AmazonSimpleWorkflowAsync.RequestCancelWorkflowExecution
     */
    java.util.concurrent.Future requestCancelWorkflowExecutionAsync(RequestCancelWorkflowExecutionRequest requestCancelWorkflowExecutionRequest);
    /**
     * 
     * Records a WorkflowExecutionCancelRequested event in the currently running workflow execution
     * identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow
     * execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history
     * with this event.
     * 
     * If the runId is not specified, the WorkflowExecutionCancelRequested event is recorded in the
     * history of the current open workflow execution with the specified workflowId in the domain.  Because
     * this action allows the workflow to properly clean up and gracefully close, it should be used instead of
     * TerminateWorkflowExecution when possible. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param requestCancelWorkflowExecutionRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RequestCancelWorkflowExecution
     */
    java.util.concurrent.Future requestCancelWorkflowExecutionAsync(RequestCancelWorkflowExecutionRequest requestCancelWorkflowExecutionRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken was
     * successfully canceled. Additional details can be optionally provided using the details
     * argument.
     * 
     * 
     * These details (if provided) appear in the ActivityTaskCanceled event added to the
     * workflow history.
     * 
     * Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat
     * request returns true and if the activity can be safely undone or abandoned. 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskCanceledRequest
     * @sample AmazonSimpleWorkflowAsync.RespondActivityTaskCanceled
     */
    java.util.concurrent.Future respondActivityTaskCanceledAsync(RespondActivityTaskCanceledRequest respondActivityTaskCanceledRequest);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken was
     * successfully canceled. Additional details can be optionally provided using the details
     * argument.
     * 
     * 
     * These details (if provided) appear in the ActivityTaskCanceled event added to the
     * workflow history.
     * 
     * Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat
     * request returns true and if the activity can be safely undone or abandoned. 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskCanceledRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RespondActivityTaskCanceled
     */
    java.util.concurrent.Future respondActivityTaskCanceledAsync(RespondActivityTaskCanceledRequest respondActivityTaskCanceledRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken
     * completed successfully with a result (if provided). The result appears in the
     * ActivityTaskCompleted event in the workflow history.
     * 
     *  If the requested task does not complete successfully, use RespondActivityTaskFailed instead.
     * If the worker finds that the task is canceled through the canceled flag returned by
     * RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call
     * RespondActivityTaskCanceled. 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskCompletedRequest
     * @sample AmazonSimpleWorkflowAsync.RespondActivityTaskCompleted
     */
    java.util.concurrent.Future respondActivityTaskCompletedAsync(RespondActivityTaskCompletedRequest respondActivityTaskCompletedRequest);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken
     * completed successfully with a result (if provided). The result appears in the
     * ActivityTaskCompleted event in the workflow history.
     * 
     *  If the requested task does not complete successfully, use RespondActivityTaskFailed instead.
     * If the worker finds that the task is canceled through the canceled flag returned by
     * RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call
     * RespondActivityTaskCanceled. 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskCompletedRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RespondActivityTaskCompleted
     */
    java.util.concurrent.Future respondActivityTaskCompletedAsync(RespondActivityTaskCompletedRequest respondActivityTaskCompletedRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken has
     * failed with reason (if specified). The reason and details appear in the
     * ActivityTaskFailed event added to the workflow history.
     * 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskFailedRequest
     * @sample AmazonSimpleWorkflowAsync.RespondActivityTaskFailed
     */
    java.util.concurrent.Future respondActivityTaskFailedAsync(RespondActivityTaskFailedRequest respondActivityTaskFailedRequest);
    /**
     * 
     * Used by workers to tell the service that the ActivityTask identified by the taskToken has
     * failed with reason (if specified). The reason and details appear in the
     * ActivityTaskFailed event added to the workflow history.
     * 
     * 
     * A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as
     * open while a worker is processing it. A task is closed after it has been specified in a call to
     * RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task
     * has timed
     * out.
     * 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param respondActivityTaskFailedRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RespondActivityTaskFailed
     */
    java.util.concurrent.Future respondActivityTaskFailedAsync(RespondActivityTaskFailedRequest respondActivityTaskFailedRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Used by deciders to tell the service that the DecisionTask identified by the taskToken has
     * successfully completed. The decisions argument specifies the list of decisions made while processing
     * the task.
     * 
     * 
     * A DecisionTaskCompleted event is added to the workflow history. The executionContext
     * specified is attached to the event in the workflow execution history.
     * 
     * 
     * Access Control
     * 
     * 
     * If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions
     * for the list of decisions in the decisions parameter. Each of the decisions has one or more
     * parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express
     * permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For
     * more information, see Using
     * IAM to Manage Access to Amazon SWF Workflows.
     * 
     * 
     * @param respondDecisionTaskCompletedRequest
     * @sample AmazonSimpleWorkflowAsync.RespondDecisionTaskCompleted
     */
    java.util.concurrent.Future respondDecisionTaskCompletedAsync(RespondDecisionTaskCompletedRequest respondDecisionTaskCompletedRequest);
    /**
     * 
     * Used by deciders to tell the service that the DecisionTask identified by the taskToken has
     * successfully completed. The decisions argument specifies the list of decisions made while processing
     * the task.
     * 
     * 
     * A DecisionTaskCompleted event is added to the workflow history. The executionContext
     * specified is attached to the event in the workflow execution history.
     * 
     * 
     * Access Control
     * 
     * 
     * If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions
     * for the list of decisions in the decisions parameter. Each of the decisions has one or more
     * parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express
     * permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For
     * more information, see Using
     * IAM to Manage Access to Amazon SWF Workflows.
     * 
     * 
     * @param respondDecisionTaskCompletedRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.RespondDecisionTaskCompleted
     */
    java.util.concurrent.Future respondDecisionTaskCompletedAsync(RespondDecisionTaskCompletedRequest respondDecisionTaskCompletedRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision
     * task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with
     * the specified user defined signalName and input (if provided).
     * 
     *  If a runId is not specified, then the WorkflowExecutionSignaled event is recorded in the
     * history of the current open workflow with the matching workflowId in the domain.   If the specified
     * workflow execution is not open, this method fails with UnknownResource. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param signalWorkflowExecutionRequest
     * @sample AmazonSimpleWorkflowAsync.SignalWorkflowExecution
     */
    java.util.concurrent.Future signalWorkflowExecutionAsync(SignalWorkflowExecutionRequest signalWorkflowExecutionRequest);
    /**
     * 
     * Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision
     * task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with
     * the specified user defined signalName and input (if provided).
     * 
     *  If a runId is not specified, then the WorkflowExecutionSignaled event is recorded in the
     * history of the current open workflow with the matching workflowId in the domain.   If the specified
     * workflow execution is not open, this method fails with UnknownResource. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param signalWorkflowExecutionRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.SignalWorkflowExecution
     */
    java.util.concurrent.Future signalWorkflowExecutionAsync(SignalWorkflowExecutionRequest signalWorkflowExecutionRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Starts an execution of the workflow type in the specified domain using the provided workflowId and
     * input data.
     * 
     * 
     * This action returns the newly started workflow execution.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
tagList.member.0: The key is swf:tagList.member.0. 
     * -  
tagList.member.1: The key is swf:tagList.member.1. 
     * -  
tagList.member.2: The key is swf:tagList.member.2. 
     * -  
tagList.member.3: The key is swf:tagList.member.3. 
     * -  
tagList.member.4: The key is swf:tagList.member.4. 
     * taskList: String constraint. The key is swf:taskList.name. 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param startWorkflowExecutionRequest
     * @return A Java Future containing the result of the StartWorkflowExecution operation returned by the service.
     * @sample AmazonSimpleWorkflowAsync.StartWorkflowExecution
     */
    java.util.concurrent.Future startWorkflowExecutionAsync(StartWorkflowExecutionRequest startWorkflowExecutionRequest);
    /**
     * 
     * Starts an execution of the workflow type in the specified domain using the provided workflowId and
     * input data.
     * 
     * 
     * This action returns the newly started workflow execution.
     * 
     * 
     * 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. 
     * - Constrain the following parameters by using a 
Condition element with the appropriate keys.
     * 
     * -  
tagList.member.0: The key is swf:tagList.member.0. 
     * -  
tagList.member.1: The key is swf:tagList.member.1. 
     * -  
tagList.member.2: The key is swf:tagList.member.2. 
     * -  
tagList.member.3: The key is swf:tagList.member.3. 
     * -  
tagList.member.4: The key is swf:tagList.member.4. 
     * taskList: String constraint. The key is swf:taskList.name. 
     * workflowType.name: String constraint. The key is swf:workflowType.name. 
     * workflowType.version: String constraint. The key is swf:workflowType.version. 
     * 
     *  
     * 
     * 
     * If the caller does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param startWorkflowExecutionRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @return A Java Future containing the result of the StartWorkflowExecution operation returned by the service.
     * @sample AmazonSimpleWorkflowAsyncHandler.StartWorkflowExecution
     */
    java.util.concurrent.Future startWorkflowExecutionAsync(StartWorkflowExecutionRequest startWorkflowExecutionRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
    /**
     * 
     * Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified
     * by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when
     * starting this execution, is applied to any open child workflow executions of this workflow execution.
     * 
     *  If the identified workflow execution was in progress, it is terminated immediately. 
     *  If a runId is not specified, then the WorkflowExecutionTerminated event is recorded in the
     * history of the current open workflow with the matching workflowId in the domain.   You should
     * consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully
     * close while TerminateWorkflowExecution does not. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param terminateWorkflowExecutionRequest
     * @sample AmazonSimpleWorkflowAsync.TerminateWorkflowExecution
     */
    java.util.concurrent.Future terminateWorkflowExecutionAsync(TerminateWorkflowExecutionRequest terminateWorkflowExecutionRequest);
    /**
     * 
     * Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified
     * by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when
     * starting this execution, is applied to any open child workflow executions of this workflow execution.
     * 
     *  If the identified workflow execution was in progress, it is terminated immediately. 
     *  If a runId is not specified, then the WorkflowExecutionTerminated event is recorded in the
     * history of the current open workflow with the matching workflowId in the domain.   You should
     * consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully
     * close while TerminateWorkflowExecution does not. 
     * 
     * 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 does not 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 will be set to
     * OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to
     * Amazon SWF Workflows.
     * 
     * 
     * @param terminateWorkflowExecutionRequest
     * @param asyncHandler
     *        Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
     *        implementation of the callback methods in this interface to receive notification of successful or
     *        unsuccessful completion of the operation.
     * @sample AmazonSimpleWorkflowAsyncHandler.TerminateWorkflowExecution
     */
    java.util.concurrent.Future terminateWorkflowExecutionAsync(TerminateWorkflowExecutionRequest terminateWorkflowExecutionRequest,
            com.amazonaws.handlers.AsyncHandler asyncHandler);
}