// @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 { IoK8sApimachineryPkgApisMetaV1OwnerReference } from './ioK8sApimachineryPkgApisMetaV1OwnerReference';

/**
* SubmitOpts are workflow submission options
*/
export class IoArgoprojWorkflowV1alpha1SubmitOpts {
    /**
    * Annotations adds to metadata.labels
    */
    'annotations'?: string;
    /**
    * DryRun validates the workflow on the client-side without creating it. This option is not supported in API
    */
    'dryRun'?: boolean;
    /**
    * Entrypoint overrides spec.entrypoint
    */
    'entryPoint'?: string;
    /**
    * GenerateName overrides metadata.generateName
    */
    'generateName'?: string;
    /**
    * Labels adds to metadata.labels
    */
    'labels'?: string;
    /**
    * Name overrides metadata.name
    */
    'name'?: string;
    'ownerReference'?: IoK8sApimachineryPkgApisMetaV1OwnerReference;
    /**
    * Parameters passes input parameters to workflow
    */
    'parameters'?: Array<string>;
    /**
    * Set the podPriorityClassName of the workflow
    */
    'podPriorityClassName'?: string;
    /**
    * Priority is used if controller is configured to process limited number of workflows in parallel, higher priority workflows are processed first.
    */
    'priority'?: number;
    /**
    * ServerDryRun validates the workflow on the server-side without creating it
    */
    'serverDryRun'?: boolean;
    /**
    * ServiceAccount runs all pods in the workflow using specified ServiceAccount.
    */
    'serviceAccount'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "annotations",
            "baseName": "annotations",
            "type": "string"
        },
        {
            "name": "dryRun",
            "baseName": "dryRun",
            "type": "boolean"
        },
        {
            "name": "entryPoint",
            "baseName": "entryPoint",
            "type": "string"
        },
        {
            "name": "generateName",
            "baseName": "generateName",
            "type": "string"
        },
        {
            "name": "labels",
            "baseName": "labels",
            "type": "string"
        },
        {
            "name": "name",
            "baseName": "name",
            "type": "string"
        },
        {
            "name": "ownerReference",
            "baseName": "ownerReference",
            "type": "IoK8sApimachineryPkgApisMetaV1OwnerReference"
        },
        {
            "name": "parameters",
            "baseName": "parameters",
            "type": "Array<string>"
        },
        {
            "name": "podPriorityClassName",
            "baseName": "podPriorityClassName",
            "type": "string"
        },
        {
            "name": "priority",
            "baseName": "priority",
            "type": "number"
        },
        {
            "name": "serverDryRun",
            "baseName": "serverDryRun",
            "type": "boolean"
        },
        {
            "name": "serviceAccount",
            "baseName": "serviceAccount",
            "type": "string"
        }    ];

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

