- release_tracks: [ALPHA, BETA, GA]
  command_type: CREATE
  help_text:
    brief: |
      Execute a workflow
    description: |
      Execute a workflow.
    examples: |
      To execute a workflow named 'my-workflow' with the data that will be passed
      to the workflow, run:

          $ {command} my-workflow --data=my-data

  arguments:
    resource:
      spec: !REF googlecloudsdk.command_lib.workflows.resources:workflow_for_executions
      is_parent_resource: true
      help_text: |
        Name of the workflow to execute.
    params:
    - arg_name: data
      api_field: execution.argument
      help_text: |
        JSON string with data that will be passed to the workflow as an argument.
    - arg_name: call-log-level
      api_field: execution.callLogLevel
      help_text: |
        Level of call logging to apply during execution.
      release_tracks: [BETA]
      choices:
      - enum_value: CALL_LOG_LEVEL_UNSPECIFIED
        arg_value: none
        help_text: |
          Perform no call logging.
      - enum_value: LOG_ALL_CALLS
        arg_value: log-all-calls
        help_text: |
          Log all calls to subworkflows or library functions and their results.
      - enum_value: LOG_ERRORS_ONLY
        arg_value: log-errors-only
        help_text: |
          Log when a call is stopped due to an exception.
      default: none
    - arg_name: call-log-level
      api_field: execution.callLogLevel
      help_text: |
        Level of call logging to apply during execution.
      release_tracks: [GA]
      choices:
      - enum_value: CALL_LOG_LEVEL_UNSPECIFIED
        arg_value: none
        help_text: |
          No call logging level specified.
      - enum_value: LOG_ALL_CALLS
        arg_value: log-all-calls
        help_text: |
          Log all calls to subworkflows or library functions and their results.
      - enum_value: LOG_ERRORS_ONLY
        arg_value: log-errors-only
        help_text: |
          Log when a call is stopped due to an exception.
      - enum_value: LOG_NONE
        arg_value: log-none
        help_text: |
          Perform no call logging.
      default: none
    - arg_name: execution-history-level
      api_field: execution.executionHistoryLevel
      help_text: |
        Level of execution history to apply during execution.
      release_tracks: [GA]
      choices:
      - enum_value: EXECUTION_HISTORY_LEVEL_UNSPECIFIED
        arg_value: none
        help_text: |
          No execution history level specified.
      - enum_value: EXECUTION_HISTORY_BASIC
        arg_value: execution-history-basic
        help_text: |
          Enable basic execution history.
      - enum_value:  EXECUTION_HISTORY_DETAILED
        arg_value: execution-history-detailed
        help_text: |
          Enable detailed execution history, including expected iterations and in-scope variable values.
      default: none
    - arg_name: labels
      metavar: KEY=VALUE
      api_field: execution.labels
      help_text: |
        List of label KEY=VALUE pairs to add.

        Keys must start with a lowercase character and contain only hyphens, underscores,
        lowercase characters, and numbers. Values must contain only hyphens, underscores,
        lowercase characters, and numbers.
      release_tracks: [GA]
      type: 'googlecloudsdk.calliope.arg_parsers:ArgDict:'
    - arg_name: disable-concurrency-quota-overflow-buffering
      api_field: execution.disableConcurrencyQuotaOverflowBuffering
      help_text: |
        If set, the execution will not be backlogged when the concurrency quota is exhausted.
        Backlogged executions start when the concurrency quota becomes available.
      release_tracks: [GA]

  request:
    ALPHA:
      api_version: v1alpha1
    BETA:
      api_version: v1beta
    GA:
      api_version: v1
    collection: workflowexecutions.projects.locations.workflows.executions
    modify_request_hooks:
    - googlecloudsdk.command_lib.workflows.hooks:print_default_location_warning

  response:
    modify_response_hooks:
    - googlecloudsdk.command_lib.workflows.hooks:print_describe_instruction
    - googlecloudsdk.command_lib.workflows.hooks:cache_execution_name
