# File lib/aws/simple_workflow/option_formatters.rb, line 43
      def start_execution_opts options, workflow_type = nil

        if workflow_type

          options[:workflow_id] ||= SecureRandom.uuid

          if workflow_type.is_a?(WorkflowType)
            options[:workflow_type] = {}
            options[:workflow_type][:name] = workflow_type.name
            options[:workflow_type][:version] = workflow_type.version
          elsif
            workflow_type.is_a?(Hash) and
            workflow_type[:name].is_a?(String) and
            workflow_type[:version] .is_a?(String)and
            workflow_type.keys.length == 2
          then
            options[:workflow_type] = workflow_type
          else
            msg = "expected workflow_type to be a WorkflowType object or " +
              "a hash with :name and :version"
            raise ArgumentError, msg
          end

        end

        upcase_opts(options, :child_policy)

        duration_opts(options,
          :execution_start_to_close_timeout,
          :task_start_to_close_timeout)

        if options.has_key?(:task_list)
          options[:task_list] = { :name => options[:task_list].to_s }
        end

      end