// @ts-nocheck
/**
 * Argo Workflows API
 * Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argoproj.github.io/argo-workflows/
 *
 * The version of the OpenAPI document: VERSION
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { RequestFile } from './models';
import { IoArgoprojWorkflowV1alpha1DAGTask } from './ioArgoprojWorkflowV1alpha1DAGTask';

/**
* DAGTemplate is a template subtype for directed acyclic graph templates
*/
export class IoArgoprojWorkflowV1alpha1DAGTemplate {
    /**
    * This flag is for DAG logic. The DAG logic has a built-in \"fail fast\" feature to stop scheduling new steps, as soon as it detects that one of the DAG nodes is failed. Then it waits until all DAG nodes are completed before failing the DAG itself. The FailFast flag default is true,  if set to false, it will allow a DAG to run all branches of the DAG to completion (either success or failure), regardless of the failed outcomes of branches in the DAG. More info and example about this feature at https://github.com/argoproj/argo-workflows/issues/1442
    */
    'failFast'?: boolean;
    /**
    * Target are one or more names of targets to execute in a DAG
    */
    'target'?: string;
    /**
    * Tasks are a list of DAG tasks
    */
    'tasks': Array<IoArgoprojWorkflowV1alpha1DAGTask>;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "failFast",
            "baseName": "failFast",
            "type": "boolean"
        },
        {
            "name": "target",
            "baseName": "target",
            "type": "string"
        },
        {
            "name": "tasks",
            "baseName": "tasks",
            "type": "Array<IoArgoprojWorkflowV1alpha1DAGTask>"
        }    ];

    static getAttributeTypeMap() {
        return IoArgoprojWorkflowV1alpha1DAGTemplate.attributeTypeMap;
    }
}

