diff env/lib/python3.7/site-packages/boto/swf/layer1.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/swf/layer1.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1513 +0,0 @@
-# Copyright (c) 2012 Mitch Garnaat http://garnaat.org/
-# Copyright (c) 2012 Amazon.com, Inc. or its affiliates.
-# All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-import time
-
-import boto
-from boto.connection import AWSAuthConnection
-from boto.provider import Provider
-from boto.exception import SWFResponseError
-from boto.swf import exceptions as swf_exceptions
-from boto.compat import json
-
-#
-# To get full debug output, uncomment the following line and set the
-# value of Debug to be 2
-#
-#boto.set_stream_logger('swf')
-Debug = 0
-
-
-class Layer1(AWSAuthConnection):
-    """
-    Low-level interface to Simple WorkFlow Service.
-    """
-
-    DefaultRegionName = 'us-east-1'
-    """The default region name for Simple Workflow."""
-
-    ServiceName = 'com.amazonaws.swf.service.model.SimpleWorkflowService'
-    """The name of the Service"""
-
-    # In some cases, the fault response __type value is mapped to
-    # an exception class more specific than SWFResponseError.
-    _fault_excp = {
-        'com.amazonaws.swf.base.model#DomainAlreadyExistsFault':
-            swf_exceptions.SWFDomainAlreadyExistsError,
-        'com.amazonaws.swf.base.model#LimitExceededFault':
-            swf_exceptions.SWFLimitExceededError,
-        'com.amazonaws.swf.base.model#OperationNotPermittedFault':
-            swf_exceptions.SWFOperationNotPermittedError,
-        'com.amazonaws.swf.base.model#TypeAlreadyExistsFault':
-            swf_exceptions.SWFTypeAlreadyExistsError,
-        'com.amazonaws.swf.base.model#WorkflowExecutionAlreadyStartedFault':
-            swf_exceptions.SWFWorkflowExecutionAlreadyStartedError,
-    }
-
-    ResponseError = SWFResponseError
-
-    def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
-                 is_secure=True, port=None, proxy=None, proxy_port=None,
-                 debug=0, session_token=None, region=None, profile_name=None):
-        if not region:
-            region_name = boto.config.get('SWF', 'region',
-                                          self.DefaultRegionName)
-            for reg in boto.swf.regions():
-                if reg.name == region_name:
-                    region = reg
-                    break
-
-        self.region = region
-        super(Layer1, self).__init__(self.region.endpoint,
-                                   aws_access_key_id, aws_secret_access_key,
-                                   is_secure, port, proxy, proxy_port,
-                                   debug, session_token, profile_name=profile_name)
-
-    def _required_auth_capability(self):
-        return ['hmac-v4']
-
-    @classmethod
-    def _normalize_request_dict(cls, data):
-        """
-        This class method recurses through request data dictionary and removes
-        any default values.
-
-        :type data: dict
-        :param data: Specifies request parameters with default values to be removed.
-        """
-        for item in list(data.keys()):
-            if isinstance(data[item], dict):
-                cls._normalize_request_dict(data[item])
-            if data[item] in (None, {}):
-                del data[item]
-
-    def json_request(self, action, data, object_hook=None):
-        """
-        This method wraps around make_request() to normalize and serialize the
-        dictionary with request parameters.
-
-        :type action: string
-        :param action: Specifies an SWF action.
-
-        :type data: dict
-        :param data: Specifies request parameters associated with the action.
-        """
-        self._normalize_request_dict(data)
-        json_input = json.dumps(data)
-        return self.make_request(action, json_input, object_hook)
-
-    def make_request(self, action, body='', object_hook=None):
-        """
-        :raises: ``SWFResponseError`` if response status is not 200.
-        """
-        headers = {'X-Amz-Target': '%s.%s' % (self.ServiceName, action),
-                   'Host': self.region.endpoint,
-                   'Content-Type': 'application/json; charset=UTF-8',
-                   'Content-Encoding': 'amz-1.0',
-                   'Content-Length': str(len(body))}
-        http_request = self.build_base_http_request('POST', '/', '/',
-                                                    {}, headers, body, None)
-        response = self._mexe(http_request, sender=None,
-                              override_num_retries=10)
-        response_body = response.read().decode('utf-8')
-        boto.log.debug(response_body)
-        if response.status == 200:
-            if response_body:
-                return json.loads(response_body, object_hook=object_hook)
-            else:
-                return None
-        else:
-            json_body = json.loads(response_body)
-            fault_name = json_body.get('__type', None)
-            # Certain faults get mapped to more specific exception classes.
-            excp_cls = self._fault_excp.get(fault_name, self.ResponseError)
-            raise excp_cls(response.status, response.reason, body=json_body)
-
-    # Actions related to Activities
-
-    def poll_for_activity_task(self, domain, task_list, identity=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain that contains the task
-            lists being polled.
-
-        :type task_list: string
-        :param task_list: Specifies the task list to poll for activity tasks.
-
-        :type identity: string
-        :param identity: Identity of the worker making the request, which
-            is recorded in the ActivityTaskStarted event in the workflow
-            history. This enables diagnostic tracing when problems arise.
-            The form of this identity is user defined.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('PollForActivityTask', {
-            'domain': domain,
-            'taskList': {'name': task_list},
-            'identity': identity,
-        })
-
-    def respond_activity_task_completed(self, task_token, result=None):
-        """
-        Used by workers to tell the service that the ActivityTask
-        identified by the taskToken completed successfully with a
-        result (if provided).
-
-        :type task_token: string
-        :param task_token: The taskToken of the ActivityTask.
-
-        :type result: string
-        :param result: The result of the activity task. It is a free
-            form string that is implementation specific.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RespondActivityTaskCompleted', {
-            'taskToken': task_token,
-            'result': result,
-        })
-
-    def respond_activity_task_failed(self, task_token,
-                                     details=None, reason=None):
-        """
-        Used by workers to tell the service that the ActivityTask
-        identified by the taskToken has failed with reason (if
-        specified).
-
-        :type task_token: string
-        :param task_token: The taskToken of the ActivityTask.
-
-        :type details: string
-        :param details: Optional detailed information about the failure.
-
-        :type reason: string
-        :param reason: Description of the error that may assist in diagnostics.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RespondActivityTaskFailed', {
-            'taskToken': task_token,
-            'details': details,
-            'reason': reason,
-        })
-
-    def respond_activity_task_canceled(self, task_token, details=None):
-        """
-        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.
-
-        :type task_token: string
-        :param task_token: The taskToken of the ActivityTask.
-
-        :type details: string
-        :param details: Optional detailed information about the failure.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RespondActivityTaskCanceled', {
-            'taskToken': task_token,
-            'details': details,
-        })
-
-    def record_activity_task_heartbeat(self, task_token, details=None):
-        """
-        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.
-
-        :type task_token: string
-        :param task_token: The taskToken of the ActivityTask.
-
-        :type details: string
-        :param details: If specified, contains details about the
-            progress of the task.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RecordActivityTaskHeartbeat', {
-            'taskToken': task_token,
-            'details': details,
-        })
-
-    # Actions related to Deciders
-
-    def poll_for_decision_task(self, domain, task_list, identity=None,
-                               maximum_page_size=None,
-                               next_page_token=None,
-                               reverse_order=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain containing the task
-            lists to poll.
-
-        :type task_list: string
-        :param task_list: Specifies the task list to poll for decision tasks.
-
-        :type identity: string
-        :param identity: Identity of the decider making the request,
-            which is recorded in the DecisionTaskStarted event in the
-            workflow history. This enables diagnostic tracing when
-            problems arise. The form of this identity is user defined.
-
-        :type maximum_page_size: integer :param maximum_page_size: The
-            maximum number of history events returned in each page. The
-            default is 100, but the caller can override this value to a
-            page size smaller than the default. You cannot specify a page
-            size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextPageToken was returned, the results are being paginated.
-            To get the next page of results, repeat the call with the
-            returned token and all other arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the events in
-            reverse order. By default the results are returned in
-            ascending order of the eventTimestamp of the events.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('PollForDecisionTask', {
-            'domain': domain,
-            'taskList': {'name': task_list},
-            'identity': identity,
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def respond_decision_task_completed(self, task_token,
-                                        decisions=None,
-                                        execution_context=None):
-        """
-        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.
-
-        :type task_token: string
-        :param task_token: The taskToken of the ActivityTask.
-
-        :type decisions: list
-        :param decisions: The list of decisions (possibly empty) made by
-            the decider while processing this decision task. See the docs
-            for the Decision structure for details.
-
-        :type execution_context: string
-        :param execution_context: User defined context to add to
-            workflow execution.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RespondDecisionTaskCompleted', {
-            'taskToken': task_token,
-            'decisions': decisions,
-            'executionContext': execution_context,
-        })
-
-    def request_cancel_workflow_execution(self, domain, workflow_id,
-                                          run_id=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain containing the workflow
-            execution to cancel.
-
-        :type run_id: string
-        :param run_id: The runId of the workflow execution to cancel.
-
-        :type workflow_id: string
-        :param workflow_id: The workflowId of the workflow execution
-            to cancel.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RequestCancelWorkflowExecution', {
-            'domain': domain,
-            'workflowId': workflow_id,
-            'runId': run_id,
-        })
-
-    def start_workflow_execution(self, domain, workflow_id,
-                                 workflow_name, workflow_version,
-                                 task_list=None, child_policy=None,
-                                 execution_start_to_close_timeout=None,
-                                 input=None, tag_list=None,
-                                 task_start_to_close_timeout=None):
-        """
-        Starts an execution of the workflow type in the specified
-        domain using the provided workflowId and input data.
-
-        :type domain: string
-        :param domain: The name of the domain in which the workflow
-            execution is created.
-
-        :type workflow_id: string
-        :param workflow_id: The user defined identifier associated with
-            the workflow execution. You can use this to associate a
-            custom identifier with the workflow execution. You may
-            specify the same identifier if a workflow execution is
-            logically a restart of a previous execution. You cannot
-            have two open workflow executions with the same workflowId
-            at the same time.
-
-        :type workflow_name: string
-        :param workflow_name: The name of the workflow type.
-
-        :type workflow_version: string
-        :param workflow_version: The version of the workflow type.
-
-        :type task_list: string
-        :param task_list: The task list to use for the decision tasks
-            generated for this workflow execution. This overrides the
-            defaultTaskList specified when registering the workflow type.
-
-        :type child_policy: string
-        :param child_policy: If set, specifies the policy to use for the
-            child workflow executions of this workflow execution if it
-            is terminated, by calling the TerminateWorkflowExecution
-            action explicitly or due to an expired timeout. This policy
-            overrides the default child policy specified when registering
-            the workflow type using RegisterWorkflowType. The supported
-            child policies are:
-
-             * TERMINATE: the child executions will be terminated.
-             * REQUEST_CANCEL: a request to cancel will be attempted
-                 for each child execution by recording a
-                 WorkflowExecutionCancelRequested event in its history.
-                 It is up to the decider to take appropriate actions
-                 when it receives an execution history with this event.
-             * ABANDON: no action will be taken. The child executions
-                 will continue to run.
-
-        :type execution_start_to_close_timeout: string
-        :param execution_start_to_close_timeout: The total duration for
-            this workflow execution. This overrides the
-            defaultExecutionStartToCloseTimeout specified when
-            registering the workflow type.
-
-        :type input: string
-        :param input: The input for the workflow
-            execution. This is a free form string which should be
-            meaningful to the workflow you are starting. This input is
-            made available to the new workflow execution in the
-            WorkflowExecutionStarted history event.
-
-        :type tag_list: list :param tag_list: The list of tags to
-            associate with the workflow execution. You can specify a
-            maximum of 5 tags. You can list workflow executions with a
-            specific tag by calling list_open_workflow_executions or
-            list_closed_workflow_executions and specifying a TagFilter.
-
-        :type task_start_to_close_timeout: string :param
-        task_start_to_close_timeout: Specifies the maximum duration of
-            decision tasks for this workflow execution. This parameter
-            overrides the defaultTaskStartToCloseTimout specified when
-            registering the workflow type using register_workflow_type.
-
-        :raises: UnknownResourceFault, TypeDeprecatedFault,
-            SWFWorkflowExecutionAlreadyStartedError, SWFLimitExceededError,
-            SWFOperationNotPermittedError, DefaultUndefinedFault
-        """
-        return self.json_request('StartWorkflowExecution', {
-            'domain': domain,
-            'workflowId': workflow_id,
-            'workflowType': {'name': workflow_name,
-                             'version': workflow_version},
-            'taskList': {'name': task_list},
-            'childPolicy': child_policy,
-            'executionStartToCloseTimeout': execution_start_to_close_timeout,
-            'input': input,
-            'tagList': tag_list,
-            'taskStartToCloseTimeout': task_start_to_close_timeout,
-
-        })
-
-    def signal_workflow_execution(self, domain, signal_name, workflow_id,
-                                  input=None, run_id=None):
-        """
-        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).
-
-        :type domain: string
-        :param domain: The name of the domain containing the workflow
-            execution to signal.
-
-        :type signal_name: string
-        :param signal_name: The name of the signal. This name must be
-            meaningful to the target workflow.
-
-        :type workflow_id: string
-        :param workflow_id: The workflowId of the workflow execution
-            to signal.
-
-        :type input: string
-        :param input: Data to attach to the WorkflowExecutionSignaled
-            event in the target workflow execution's history.
-
-        :type run_id: string
-        :param run_id: The runId of the workflow execution to signal.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('SignalWorkflowExecution', {
-            'domain': domain,
-            'signalName': signal_name,
-            'workflowId': workflow_id,
-            'input': input,
-            'runId': run_id,
-        })
-
-    def terminate_workflow_execution(self, domain, workflow_id,
-                                     child_policy=None, details=None,
-                                     reason=None, run_id=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The domain of the workflow execution to terminate.
-
-        :type workflow_id: string
-        :param workflow_id: The workflowId of the workflow execution
-            to terminate.
-
-        :type child_policy: string
-        :param child_policy: If set, specifies the policy to use for
-            the child workflow executions of the workflow execution being
-            terminated. This policy overrides the child policy specified
-            for the workflow execution at registration time or when
-            starting the execution. The supported child policies are:
-
-            * TERMINATE: the child executions will be terminated.
-
-            * REQUEST_CANCEL: a request to cancel will be attempted
-              for each child execution by recording a
-              WorkflowExecutionCancelRequested event in its
-              history. It is up to the decider to take appropriate
-              actions when it receives an execution history with this
-              event.
-
-            * ABANDON: no action will be taken. The child executions
-              will continue to run.
-
-        :type details: string
-        :param details: Optional details for terminating the
-            workflow execution.
-
-        :type reason: string
-        :param reason: An optional descriptive reason for terminating
-            the workflow execution.
-
-        :type run_id: string
-        :param run_id: The runId of the workflow execution to terminate.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('TerminateWorkflowExecution', {
-            'domain': domain,
-            'workflowId': workflow_id,
-            'childPolicy': child_policy,
-            'details': details,
-            'reason': reason,
-            'runId': run_id,
-        })
-
-# Actions related to Administration
-
-## Activity Management
-
-    def register_activity_type(self, domain, name, version, task_list=None,
-                               default_task_heartbeat_timeout=None,
-                               default_task_schedule_to_close_timeout=None,
-                               default_task_schedule_to_start_timeout=None,
-                               default_task_start_to_close_timeout=None,
-                               description=None):
-        """
-        Registers a new activity type along with its configuration
-        settings in the specified domain.
-
-        :type domain: string
-        :param domain: The name of the domain in which this activity is
-            to be registered.
-
-        :type name: string
-        :param name: The name of the activity type within the domain.
-
-        :type version: string
-        :param version: The version of the activity type.
-
-        :type task_list: string
-        :param task_list: If set, specifies the default task list to
-            use for scheduling tasks of this activity type. This default
-            task list is used if a task list is not provided when a task
-            is scheduled through the schedule_activity_task Decision.
-
-        :type default_task_heartbeat_timeout: string
-        :param default_task_heartbeat_timeout: If set, specifies the
-            default maximum time before which a worker processing a task
-            of this type must report progress by calling
-            RecordActivityTaskHeartbeat. If the timeout is exceeded, the
-            activity task is automatically timed out. This default can be
-            overridden when scheduling an activity task using the
-            ScheduleActivityTask Decision. If the activity worker
-            subsequently attempts to record a heartbeat or returns a
-            result, the activity worker receives an UnknownResource
-            fault. In this case, Amazon SWF no longer considers the
-            activity task to be valid; the activity worker should clean up
-            the activity task.no docs
-
-        :type default_task_schedule_to_close_timeout: string
-        :param default_task_schedule_to_close_timeout: If set,
-            specifies the default maximum duration for a task of this
-            activity type. This default can be overridden when scheduling
-            an activity task using the ScheduleActivityTask Decision.no
-            docs
-
-        :type default_task_schedule_to_start_timeout: string
-        :param default_task_schedule_to_start_timeout: If set,
-            specifies the default maximum duration that a task of this
-            activity type can wait before being assigned to a worker. This
-            default can be overridden when scheduling an activity task
-            using the ScheduleActivityTask Decision.
-
-        :type default_task_start_to_close_timeout: string
-        :param default_task_start_to_close_timeout: If set, specifies
-            the default maximum duration that a worker can take to process
-            tasks of this activity type. This default can be overridden
-            when scheduling an activity task using the
-            ScheduleActivityTask Decision.
-
-        :type description: string
-        :param description: A textual description of the activity type.
-
-        :raises: SWFTypeAlreadyExistsError, SWFLimitExceededError,
-            UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RegisterActivityType', {
-            'domain': domain,
-            'name': name,
-            'version': version,
-            'defaultTaskList': {'name': task_list},
-            'defaultTaskHeartbeatTimeout': default_task_heartbeat_timeout,
-            'defaultTaskScheduleToCloseTimeout': default_task_schedule_to_close_timeout,
-            'defaultTaskScheduleToStartTimeout': default_task_schedule_to_start_timeout,
-            'defaultTaskStartToCloseTimeout': default_task_start_to_close_timeout,
-            'description': description,
-        })
-
-    def deprecate_activity_type(self, domain, activity_name, activity_version):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain in which the activity
-            type is registered.
-
-        :type activity_name: string
-        :param activity_name: The name of this activity.
-
-        :type activity_version: string
-        :param activity_version: The version of this activity.
-
-        :raises: UnknownResourceFault, TypeDeprecatedFault,
-            SWFOperationNotPermittedError
-        """
-        return self.json_request('DeprecateActivityType', {
-            'domain': domain,
-            'activityType': {'name': activity_name,
-                             'version': activity_version}
-        })
-
-## Workflow Management
-
-    def register_workflow_type(self, domain, name, version,
-                               task_list=None,
-                               default_child_policy=None,
-                               default_execution_start_to_close_timeout=None,
-                               default_task_start_to_close_timeout=None,
-                               description=None):
-        """
-        Registers a new workflow type and its configuration settings
-        in the specified domain.
-
-        :type domain: string
-        :param domain: The name of the domain in which to register
-            the workflow type.
-
-        :type name: string
-        :param name: The name of the workflow type.
-
-        :type version: string
-        :param version: The version of the workflow type.
-
-        :type task_list: list of name, version of tasks
-        :param task_list: If set, specifies the default task list to use
-            for scheduling decision tasks for executions of this workflow
-            type. This default is used only if a task list is not provided
-            when starting the execution through the StartWorkflowExecution
-            Action or StartChildWorkflowExecution Decision.
-
-        :type default_child_policy: string
-
-        :param default_child_policy: If set, specifies the default
-            policy to use for the child workflow executions when a
-            workflow execution of this type is terminated, by calling the
-            TerminateWorkflowExecution action explicitly or due to an
-            expired timeout. This default can be overridden when starting
-            a workflow execution using the StartWorkflowExecution action
-            or the StartChildWorkflowExecution Decision. The supported
-            child policies are:
-
-            * TERMINATE: the child executions will be terminated.
-
-            * REQUEST_CANCEL: a request to cancel will be attempted
-              for each child execution by recording a
-              WorkflowExecutionCancelRequested event in its
-              history. It is up to the decider to take appropriate
-              actions when it receives an execution history with this
-              event.
-
-            * ABANDON: no action will be taken. The child executions
-              will continue to run.no docs
-
-        :type default_execution_start_to_close_timeout: string
-        :param default_execution_start_to_close_timeout: If set,
-            specifies the default maximum duration for executions of this
-            workflow type. You can override this default when starting an
-            execution through the StartWorkflowExecution Action or
-            StartChildWorkflowExecution Decision.
-
-        :type default_task_start_to_close_timeout: string
-        :param default_task_start_to_close_timeout: If set, specifies
-            the default maximum duration of decision tasks for this
-            workflow type. This default can be overridden when starting a
-            workflow execution using the StartWorkflowExecution action or
-            the StartChildWorkflowExecution Decision.
-
-        :type description: string
-        :param description: Textual description of the workflow type.
-
-        :raises: SWFTypeAlreadyExistsError, SWFLimitExceededError,
-            UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('RegisterWorkflowType', {
-            'domain': domain,
-            'name': name,
-            'version': version,
-            'defaultTaskList':  {'name': task_list},
-            'defaultChildPolicy': default_child_policy,
-            'defaultExecutionStartToCloseTimeout': default_execution_start_to_close_timeout,
-            'defaultTaskStartToCloseTimeout': default_task_start_to_close_timeout,
-            'description': description,
-        })
-
-    def deprecate_workflow_type(self, domain, workflow_name, workflow_version):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain in which the workflow
-            type is registered.
-
-        :type workflow_name: string
-        :param workflow_name: The name of the workflow type.
-
-        :type workflow_version: string
-        :param workflow_version: The version of the workflow type.
-
-        :raises: UnknownResourceFault, TypeDeprecatedFault,
-            SWFOperationNotPermittedError
-        """
-        return self.json_request('DeprecateWorkflowType', {
-            'domain': domain,
-            'workflowType': {'name': workflow_name,
-                             'version': workflow_version},
-        })
-
-## Domain Management
-
-    def register_domain(self, name,
-                        workflow_execution_retention_period_in_days,
-                        description=None):
-        """
-        Registers a new domain.
-
-        :type name: string
-        :param name: Name of the domain to register. The name must be unique.
-
-        :type workflow_execution_retention_period_in_days: string
-
-        :param workflow_execution_retention_period_in_days: Specifies
-            the duration *in days* for which the record (including the
-            history) of workflow executions in this domain should be kept
-            by the service. After the retention period, the workflow
-            execution will not be available in the results of visibility
-            calls. If a duration of NONE is specified, the records for
-            workflow executions in this domain are not retained at all.
-
-        :type description: string
-        :param description: Textual description of the domain.
-
-        :raises: SWFDomainAlreadyExistsError, SWFLimitExceededError,
-            SWFOperationNotPermittedError
-        """
-        return self.json_request('RegisterDomain', {
-            'name': name,
-            'workflowExecutionRetentionPeriodInDays': workflow_execution_retention_period_in_days,
-            'description': description,
-        })
-
-    def deprecate_domain(self, name):
-        """
-        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.
-
-        :type name: string
-        :param name: The name of the domain to deprecate.
-
-        :raises: UnknownResourceFault, DomainDeprecatedFault,
-            SWFOperationNotPermittedError
-        """
-        return self.json_request('DeprecateDomain', {'name': name})
-
-# Visibility Actions
-
-## Activity Visibility
-
-    def list_activity_types(self, domain, registration_status,
-                            name=None,
-                            maximum_page_size=None,
-                            next_page_token=None, reverse_order=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain in which the activity
-            types have been registered.
-
-        :type registration_status: string
-        :param registration_status: Specifies the registration status
-            of the activity types to list.  Valid values are:
-
-            * REGISTERED
-            * DEPRECATED
-
-        :type name: string
-        :param name: If specified, only lists the activity types that
-            have this name.
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: The maximum number of results
-            returned in each page. The default is 100, but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextResultToken was returned, the results have more than one
-            page. To get the next page of results, repeat the call with
-            the nextPageToken and keep all other arguments unchanged.
-
-        :type reverse_order: boolean
-
-        :param reverse_order: When set to true, returns the results in
-            reverse order. By default the results are returned in
-            ascending alphabetical order of the name of the activity
-            types.
-
-        :raises: SWFOperationNotPermittedError, UnknownResourceFault
-        """
-        return self.json_request('ListActivityTypes', {
-            'domain': domain,
-            'name': name,
-            'registrationStatus': registration_status,
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def describe_activity_type(self, domain, activity_name, activity_version):
-        """
-        Returns information about the specified activity type. This
-        includes configuration settings provided at registration time
-        as well as other general information about the type.
-
-        :type domain: string
-        :param domain: The name of the domain in which the activity
-            type is registered.
-
-        :type activity_name: string
-        :param activity_name: The name of this activity.
-
-        :type activity_version: string
-        :param activity_version: The version of this activity.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('DescribeActivityType', {
-            'domain': domain,
-            'activityType': {'name': activity_name,
-                             'version': activity_version}
-        })
-
-## Workflow Visibility
-
-    def list_workflow_types(self, domain, registration_status,
-                            maximum_page_size=None, name=None,
-                            next_page_token=None, reverse_order=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain in which the workflow
-            types have been registered.
-
-        :type registration_status: string
-        :param registration_status: Specifies the registration status
-            of the activity types to list.  Valid values are:
-
-            * REGISTERED
-            * DEPRECATED
-
-        :type name: string
-        :param name: If specified, lists the workflow type with this name.
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: The maximum number of results
-            returned in each page. The default is 100, but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextPageToken was returned, the results are being
-            paginated. To get the next page of results, repeat the call
-            with the returned token and all other arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the results in
-            reverse order. By default the results are returned in
-            ascending alphabetical order of the name of the workflow
-            types.
-
-        :raises: SWFOperationNotPermittedError, UnknownResourceFault
-        """
-        return self.json_request('ListWorkflowTypes', {
-            'domain': domain,
-            'name': name,
-            'registrationStatus': registration_status,
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def describe_workflow_type(self, domain, workflow_name, workflow_version):
-        """
-        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, etc.
-
-        :type domain: string
-        :param domain: The name of the domain in which this workflow
-            type is registered.
-
-        :type workflow_name: string
-        :param workflow_name: The name of the workflow type.
-
-        :type workflow_version: string
-        :param workflow_version: The version of the workflow type.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('DescribeWorkflowType', {
-            'domain': domain,
-            'workflowType': {'name': workflow_name,
-                             'version': workflow_version}
-        })
-
-## Workflow Execution Visibility
-
-    def describe_workflow_execution(self, domain, run_id, workflow_id):
-        """
-        Returns information about the specified workflow execution
-        including its type and some statistics.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow execution.
-
-        :type run_id: string
-        :param run_id: A system generated unique identifier for the
-            workflow execution.
-
-        :type workflow_id: string
-        :param workflow_id: The user defined identifier associated
-            with the workflow execution.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('DescribeWorkflowExecution', {
-            'domain': domain,
-            'execution': {'runId': run_id,
-                          'workflowId': workflow_id},
-        })
-
-    def get_workflow_execution_history(self, domain, run_id, workflow_id,
-                                       maximum_page_size=None,
-                                       next_page_token=None,
-                                       reverse_order=None):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow execution.
-
-        :type run_id: string
-        :param run_id: A system generated unique identifier for the
-            workflow execution.
-
-        :type workflow_id: string
-        :param workflow_id: The user defined identifier associated
-            with the workflow execution.
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: Specifies the maximum number of
-            history events returned in one page. The next page in the
-            result is identified by the NextPageToken returned. By default
-            100 history events are returned in a page but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size larger than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If a NextPageToken is returned, the
-            result has more than one pages. To get the next page, repeat
-            the call and specify the nextPageToken with all other
-            arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the events in
-            reverse order. By default the results are returned in
-            ascending order of the eventTimeStamp of the events.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('GetWorkflowExecutionHistory', {
-            'domain': domain,
-            'execution': {'runId': run_id,
-                          'workflowId': workflow_id},
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def count_open_workflow_executions(self, domain, latest_date, oldest_date,
-                                       tag=None,
-                                       workflow_id=None,
-                                       workflow_name=None,
-                                       workflow_version=None):
-        """
-        Returns the number of open workflow executions within the
-        given domain that meet the specified filtering criteria.
-
-        .. note:
-            workflow_id, workflow_name/workflow_version and tag are mutually
-            exclusive. You can specify at most one of these in a request.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow executions to count.
-
-        :type latest_date: timestamp
-        :param latest_date: Specifies the latest start or close date
-            and time to return.
-
-        :type oldest_date: timestamp
-        :param oldest_date: Specifies the oldest start or close date
-            and time to return.
-
-        :type workflow_name: string
-        :param workflow_name: Name of the workflow type to filter on.
-
-        :type workflow_version: string
-        :param workflow_version: Version of the workflow type to filter on.
-
-        :type tag: string
-        :param tag: If specified, only executions that have a tag
-            that matches the filter are counted.
-
-        :type workflow_id: string
-        :param workflow_id: If specified, only workflow executions
-            matching the workflow_id are counted.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('CountOpenWorkflowExecutions', {
-            'domain': domain,
-            'startTimeFilter': {'oldestDate': oldest_date,
-                                'latestDate': latest_date},
-            'typeFilter': {'name': workflow_name,
-                           'version': workflow_version},
-            'executionFilter': {'workflowId': workflow_id},
-            'tagFilter': {'tag': tag},
-        })
-
-    def list_open_workflow_executions(self, domain,
-                                      oldest_date,
-                                      latest_date=None,
-                                      tag=None,
-                                      workflow_id=None,
-                                      workflow_name=None,
-                                      workflow_version=None,
-                                      maximum_page_size=None,
-                                      next_page_token=None,
-                                      reverse_order=None):
-        """
-        Returns the list of open workflow executions within the
-        given domain that meet the specified filtering criteria.
-
-        .. note:
-            workflow_id, workflow_name/workflow_version
-            and tag are mutually exclusive. You can specify at most
-            one of these in a request.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow executions to count.
-
-        :type latest_date: timestamp
-        :param latest_date: Specifies the latest start or close date
-            and time to return.
-
-        :type oldest_date: timestamp
-        :param oldest_date: Specifies the oldest start or close date
-            and time to return.
-
-        :type tag: string
-        :param tag: If specified, only executions that have a tag
-            that matches the filter are counted.
-
-        :type workflow_id: string
-        :param workflow_id: If specified, only workflow executions
-            matching the workflow_id are counted.
-
-        :type workflow_name: string
-        :param workflow_name: Name of the workflow type to filter on.
-
-        :type workflow_version: string
-        :param workflow_version: Version of the workflow type to filter on.
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: The maximum number of results
-            returned in each page. The default is 100, but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextPageToken was returned, the results are being
-            paginated. To get the next page of results, repeat the call
-            with the returned token and all other arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the results in
-            reverse order. By default the results are returned in
-            descending order of the start or the close time of the
-            executions.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-
-        """
-        return self.json_request('ListOpenWorkflowExecutions', {
-            'domain': domain,
-            'startTimeFilter': {'oldestDate': oldest_date,
-                                'latestDate': latest_date},
-            'tagFilter': {'tag': tag},
-            'typeFilter': {'name': workflow_name,
-                           'version': workflow_version},
-            'executionFilter': {'workflowId': workflow_id},
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def count_closed_workflow_executions(self, domain,
-                                         start_latest_date=None,
-                                         start_oldest_date=None,
-                                         close_latest_date=None,
-                                         close_oldest_date=None,
-                                         close_status=None,
-                                         tag=None,
-                                         workflow_id=None,
-                                         workflow_name=None,
-                                         workflow_version=None):
-        """
-        Returns the number of closed workflow executions within the
-        given domain that meet the specified filtering criteria.
-
-        .. note:
-            close_status, workflow_id, workflow_name/workflow_version
-            and tag are mutually exclusive. You can specify at most
-            one of these in a request.
-
-        .. note:
-            start_latest_date/start_oldest_date and
-            close_latest_date/close_oldest_date are mutually
-            exclusive. You can specify at most one of these in a request.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow executions to count.
-
-        :type start_latest_date: timestamp
-        :param start_latest_date: If specified, only workflow executions
-            that meet the start time criteria of the filter are counted.
-
-        :type start_oldest_date: timestamp
-        :param start_oldest_date: If specified, only workflow executions
-            that meet the start time criteria of the filter are counted.
-
-        :type close_latest_date: timestamp
-        :param close_latest_date: If specified, only workflow executions
-            that meet the close time criteria of the filter are counted.
-
-        :type close_oldest_date: timestamp
-        :param close_oldest_date: If specified, only workflow executions
-            that meet the close time criteria of the filter are counted.
-
-        :type close_status: string
-        :param close_status: The close status that must match the close status
-            of an execution for it to meet the criteria of this filter.
-            Valid values are:
-
-            * COMPLETED
-            * FAILED
-            * CANCELED
-            * TERMINATED
-            * CONTINUED_AS_NEW
-            * TIMED_OUT
-
-        :type tag: string
-        :param tag: If specified, only executions that have a tag
-            that matches the filter are counted.
-
-        :type workflow_id: string
-        :param workflow_id: If specified, only workflow executions
-            matching the workflow_id are counted.
-
-        :type workflow_name: string
-        :param workflow_name: Name of the workflow type to filter on.
-
-        :type workflow_version: string
-        :param workflow_version: Version of the workflow type to filter on.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('CountClosedWorkflowExecutions', {
-            'domain': domain,
-            'startTimeFilter': {'oldestDate': start_oldest_date,
-                                'latestDate': start_latest_date},
-            'closeTimeFilter': {'oldestDate': close_oldest_date,
-                                'latestDate': close_latest_date},
-            'closeStatusFilter': {'status': close_status},
-            'tagFilter': {'tag': tag},
-            'typeFilter': {'name': workflow_name,
-                           'version': workflow_version},
-            'executionFilter': {'workflowId': workflow_id}
-        })
-
-    def list_closed_workflow_executions(self, domain,
-                                        start_latest_date=None,
-                                        start_oldest_date=None,
-                                        close_latest_date=None,
-                                        close_oldest_date=None,
-                                        close_status=None,
-                                        tag=None,
-                                        workflow_id=None,
-                                        workflow_name=None,
-                                        workflow_version=None,
-                                        maximum_page_size=None,
-                                        next_page_token=None,
-                                        reverse_order=None):
-        """
-        Returns the number of closed workflow executions within the
-        given domain that meet the specified filtering criteria.
-
-        .. note:
-            close_status, workflow_id, workflow_name/workflow_version
-            and tag are mutually exclusive. You can specify at most
-            one of these in a request.
-
-        .. note:
-            start_latest_date/start_oldest_date and
-            close_latest_date/close_oldest_date are mutually
-            exclusive. You can specify at most one of these in a request.
-
-        :type domain: string
-        :param domain: The name of the domain containing the
-            workflow executions to count.
-
-        :type start_latest_date: timestamp
-        :param start_latest_date: If specified, only workflow executions
-            that meet the start time criteria of the filter are counted.
-
-        :type start_oldest_date: timestamp
-        :param start_oldest_date: If specified, only workflow executions
-            that meet the start time criteria of the filter are counted.
-
-        :type close_latest_date: timestamp
-        :param close_latest_date: If specified, only workflow executions
-            that meet the close time criteria of the filter are counted.
-
-        :type close_oldest_date: timestamp
-        :param close_oldest_date: If specified, only workflow executions
-            that meet the close time criteria of the filter are counted.
-
-        :type close_status: string
-        :param close_status: The close status that must match the close status
-            of an execution for it to meet the criteria of this filter.
-            Valid values are:
-
-            * COMPLETED
-            * FAILED
-            * CANCELED
-            * TERMINATED
-            * CONTINUED_AS_NEW
-            * TIMED_OUT
-
-        :type tag: string
-        :param tag: If specified, only executions that have a tag
-            that matches the filter are counted.
-
-        :type workflow_id: string
-        :param workflow_id: If specified, only workflow executions
-            matching the workflow_id are counted.
-
-        :type workflow_name: string
-        :param workflow_name: Name of the workflow type to filter on.
-
-        :type workflow_version: string
-        :param workflow_version: Version of the workflow type to filter on.
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: The maximum number of results
-            returned in each page. The default is 100, but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextPageToken was returned, the results are being
-            paginated. To get the next page of results, repeat the call
-            with the returned token and all other arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the results in
-            reverse order. By default the results are returned in
-            descending order of the start or the close time of the
-            executions.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('ListClosedWorkflowExecutions', {
-            'domain': domain,
-            'startTimeFilter': {'oldestDate': start_oldest_date,
-                                'latestDate': start_latest_date},
-            'closeTimeFilter': {'oldestDate': close_oldest_date,
-                                'latestDate': close_latest_date},
-            'executionFilter': {'workflowId': workflow_id},
-            'closeStatusFilter': {'status': close_status},
-            'tagFilter': {'tag': tag},
-            'typeFilter': {'name': workflow_name,
-                           'version': workflow_version},
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-## Domain Visibility
-
-    def list_domains(self, registration_status,
-                     maximum_page_size=None,
-                     next_page_token=None, reverse_order=None):
-        """
-        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.
-
-        :type registration_status: string
-        :param registration_status: Specifies the registration status
-            of the domains to list.  Valid Values:
-
-            * REGISTERED
-            * DEPRECATED
-
-        :type maximum_page_size: integer
-        :param maximum_page_size: The maximum number of results
-            returned in each page. The default is 100, but the caller can
-            override this value to a page size smaller than the
-            default. You cannot specify a page size greater than 100.
-
-        :type next_page_token: string
-        :param next_page_token: If on a previous call to this method a
-            NextPageToken was returned, the result has more than one
-            page. To get the next page of results, repeat the call with
-            the returned token and all other arguments unchanged.
-
-        :type reverse_order: boolean
-        :param reverse_order: When set to true, returns the results in
-            reverse order. By default the results are returned in
-            ascending alphabetical order of the name of the domains.
-
-        :raises: SWFOperationNotPermittedError
-        """
-        return self.json_request('ListDomains', {
-            'registrationStatus': registration_status,
-            'maximumPageSize': maximum_page_size,
-            'nextPageToken': next_page_token,
-            'reverseOrder': reverse_order,
-        })
-
-    def describe_domain(self, name):
-        """
-        Returns information about the specified domain including
-        description and status.
-
-        :type name: string
-        :param name: The name of the domain to describe.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('DescribeDomain', {'name': name})
-
-## Task List Visibility
-
-    def count_pending_decision_tasks(self, domain, task_list):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain that contains the task list.
-
-        :type task_list: string
-        :param task_list: The name of the task list.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('CountPendingDecisionTasks', {
-            'domain': domain,
-            'taskList': {'name': task_list}
-        })
-
-    def count_pending_activity_tasks(self, domain, task_list):
-        """
-        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.
-
-        :type domain: string
-        :param domain: The name of the domain that contains the task list.
-
-        :type task_list: string
-        :param task_list: The name of the task list.
-
-        :raises: UnknownResourceFault, SWFOperationNotPermittedError
-        """
-        return self.json_request('CountPendingActivityTasks', {
-            'domain': domain,
-            'taskList': {'name': task_list}
-        })