
register-workflow-type
**********************


DESCRIPTION
===========

Registers a new *workflow type* and its configuration settings in the
specified domain.

The retention period for the workflow history is set by the  register-
domain action.

Warning: 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.

* "--default-task-list" : String constraint. The key is
  "swf:defaultTaskList.name" .

* "--name" : String constraint. The key is "swf:name" .

* "--workflow-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 by throwing "OperationNotPermitted" .
For details and example IAM policies, see Using IAM to Manage Access
to Amazon SWF Workflows .


SYNOPSIS
========

   aws swf register-workflow-type
     --domain <value>
     --name <value>
     --workflow-version <value>
     [--default-execution-start-to-close-timeout <value>]
     [--default-child-policy <value>]
     [--default-task-start-to-close-timeout <value>]
     [--default-task-list <value>]
     [--description <value>]


REQUIRED PARAMETERS
===================

"--domain"  (string)
   The --name of the --domain in which to register the workflow type.

"--name"  (string)
   The --name of the workflow type.

   The specified string must not start or end with whitespace. It must
   not contain a ":" (colon), "/" (slash), "|" (vertical bar), or any
   control characters (u0000-u001f | u007f - u009f). Also, it must not
   contain the literal string arn.

"--workflow-version"  (string)
   The --workflow-version of the workflow type.

   Note: The workflow type consists of the --name and version, the
     combination of which must be unique within the domain. To get a
     list of all currently registered workflow types, use the  list-
     workflow-types action.

   The specified string must not start or end with whitespace. It must
   not contain a ":" (colon), "/" (slash), "|" (vertical bar), or any
   control characters (u0000-u001f | u007f - u009f). Also, it must not
   contain the literal string arn.


OPTIONAL PARAMETERS
===================

"--default-execution-start-to-close-timeout"  (string)
   If set, specifies the default maximum duration for executions of
   this workflow type. You can override this default when starting an
   execution through the start-workflow-execution Action or
   "StartChildWorkflowExecution"   Decision .

   The duration is specified in seconds. The valid values are integers
   greater than or equal to 0. Unlike some of the other timeout
   parameters in Amazon SWF, you cannot specify a value of "NONE" for
   "--default-execution-start-to-close-timeout" ; there is a one-year
   max limit on the time that a workflow execution can run. Exceeding
   this limit will always cause the workflow execution to time out.

"--default-child-policy"  (string)
   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 terminate-workflow-execution action explicitly or due
   to an expired timeout. This default can be overridden when starting
   a workflow execution using the start-workflow-execution 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.

"--default-task-start-to-close-timeout"  (string)
   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  start-workflow-execution
   action or the "StartChildWorkflowExecution"   Decision .

   The valid values are integers greater than or equal to "0" . An
   integer value can be used to specify the duration in seconds while
   "NONE" can be used to specify unlimited duration.

"--default-task-list"  (structure)
   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 start-workflow-execution Action or
   "StartChildWorkflowExecution"   Decision .

   "name"  (string)

   *Parameter Syntax*

      {
        "name": "string"
      }

"--description"  (string)
   Textual --description of the workflow type.
