'Closes the workflow execution and starts a new workflow execution of
the same type using the same workflow id and a unique run Id. A
WorkflowExecutionContinuedAsNew event is recorded in the history.'

def continue_as_new_workflow_execution(self, child_policy=None, execution_start_to_close_timeout=None, input=None, tag_list=None, task_list=None, start_to_close_timeout=None, workflow_type_version=None):

    o = {}
    o['decisionType'] = 'ContinueAsNewWorkflowExecution'
    attrs = o['continueAsNewWorkflowExecutionDecisionAttributes'] = {}
    if (child_policy is not None):
        attrs['childPolicy'] = child_policy
    if (execution_start_to_close_timeout is not None):
        attrs['executionStartToCloseTimeout'] = execution_start_to_close_timeout
    if (input is not None):
        attrs['input'] = input
    if (tag_list is not None):
        attrs['tagList'] = tag_list
    if (task_list is not None):
        attrs['taskList'] = {'name': task_list}
    if (start_to_close_timeout is not None):
        attrs['taskStartToCloseTimeout'] = start_to_close_timeout
    if (workflow_type_version is not None):
        attrs['workflowTypeVersion'] = workflow_type_version
    self._data.append(o)
