// @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 { IoArgoprojWorkflowV1alpha1HTTPBodySource } from './ioArgoprojWorkflowV1alpha1HTTPBodySource';
import { IoArgoprojWorkflowV1alpha1HTTPHeader } from './ioArgoprojWorkflowV1alpha1HTTPHeader';

export class IoArgoprojWorkflowV1alpha1HTTP {
    /**
    * Body is content of the HTTP Request
    */
    'body'?: string;
    'bodyFrom'?: IoArgoprojWorkflowV1alpha1HTTPBodySource;
    /**
    * Headers are an optional list of headers to send with HTTP requests
    */
    'headers'?: Array<IoArgoprojWorkflowV1alpha1HTTPHeader>;
    /**
    * InsecureSkipVerify is a bool when if set to true will skip TLS verification for the HTTP client
    */
    'insecureSkipVerify'?: boolean;
    /**
    * Method is HTTP methods for HTTP Request
    */
    'method'?: string;
    /**
    * SuccessCondition is an expression if evaluated to true is considered successful
    */
    'successCondition'?: string;
    /**
    * TimeoutSeconds is request timeout for HTTP Request. Default is 30 seconds
    */
    'timeoutSeconds'?: number;
    /**
    * URL of the HTTP Request
    */
    'url': string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "body",
            "baseName": "body",
            "type": "string"
        },
        {
            "name": "bodyFrom",
            "baseName": "bodyFrom",
            "type": "IoArgoprojWorkflowV1alpha1HTTPBodySource"
        },
        {
            "name": "headers",
            "baseName": "headers",
            "type": "Array<IoArgoprojWorkflowV1alpha1HTTPHeader>"
        },
        {
            "name": "insecureSkipVerify",
            "baseName": "insecureSkipVerify",
            "type": "boolean"
        },
        {
            "name": "method",
            "baseName": "method",
            "type": "string"
        },
        {
            "name": "successCondition",
            "baseName": "successCondition",
            "type": "string"
        },
        {
            "name": "timeoutSeconds",
            "baseName": "timeoutSeconds",
            "type": "number"
        },
        {
            "name": "url",
            "baseName": "url",
            "type": "string"
        }    ];

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

