.. workflow:: create_child_workspace

Workflow ``create_child_workspace``
===================================

This workflow creates a child workspace, such as a :ref:`workspace for
experiments <experiment-workspaces>`.  It provides a simple interface for
users to invoke the :task:`CreateChildWorkspace` task in a suitable way.

* ``task_data``:

  * ``prefix`` (string, optional): a prefix for the name of the experiment;
    must start with an ASCII letter, and must only contain ASCII letters,
    digits, ``+``, ``-``, ``.``, or ``_``; defaults to the name of the base
    workspace
  * ``suffix`` (string): a suffix for the name of the experiment; must start
    with an ASCII letter, and must only contain ASCII letters, digits,
    ``+``, ``-``, ``.``, or ``_``
  * ``public`` (boolean, defaults to True): whether the new workspace is
    public
  * ``owner_group`` (string, optional): the name of the existing group in
    the base workspace's scope to set as the owner of the new workspace; if
    unset, the task will create a new ephemeral group
  * ``workflow_template_names`` (list of strings, defaults to the empty
    list): names of workflow templates to copy from the base workspace to
    the new workspace
  * ``expiration_delay`` (integer, optional, defaults to 60): number of days
    since the last task completion time after which the new workspace can be
    deleted

The workflow creates a :task:`CreateChildWorkspace` task, with ``prefix``
set to the value of the ``prefix`` parameter in the workflow's task data or
the name of the base workspace if no such parameter is given, and copying
the rest of the task data.

Templates for this workflow may only be created or updated by owners of the
containing scope.
