// @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 { IoArgoprojEventsV1alpha1AMQPEventSource } from './ioArgoprojEventsV1alpha1AMQPEventSource';
import { IoArgoprojEventsV1alpha1AzureEventsHubEventSource } from './ioArgoprojEventsV1alpha1AzureEventsHubEventSource';
import { IoArgoprojEventsV1alpha1BitbucketEventSource } from './ioArgoprojEventsV1alpha1BitbucketEventSource';
import { IoArgoprojEventsV1alpha1BitbucketServerEventSource } from './ioArgoprojEventsV1alpha1BitbucketServerEventSource';
import { IoArgoprojEventsV1alpha1CalendarEventSource } from './ioArgoprojEventsV1alpha1CalendarEventSource';
import { IoArgoprojEventsV1alpha1EmitterEventSource } from './ioArgoprojEventsV1alpha1EmitterEventSource';
import { IoArgoprojEventsV1alpha1FileEventSource } from './ioArgoprojEventsV1alpha1FileEventSource';
import { IoArgoprojEventsV1alpha1GenericEventSource } from './ioArgoprojEventsV1alpha1GenericEventSource';
import { IoArgoprojEventsV1alpha1GithubEventSource } from './ioArgoprojEventsV1alpha1GithubEventSource';
import { IoArgoprojEventsV1alpha1GitlabEventSource } from './ioArgoprojEventsV1alpha1GitlabEventSource';
import { IoArgoprojEventsV1alpha1HDFSEventSource } from './ioArgoprojEventsV1alpha1HDFSEventSource';
import { IoArgoprojEventsV1alpha1KafkaEventSource } from './ioArgoprojEventsV1alpha1KafkaEventSource';
import { IoArgoprojEventsV1alpha1MQTTEventSource } from './ioArgoprojEventsV1alpha1MQTTEventSource';
import { IoArgoprojEventsV1alpha1NATSEventsSource } from './ioArgoprojEventsV1alpha1NATSEventsSource';
import { IoArgoprojEventsV1alpha1NSQEventSource } from './ioArgoprojEventsV1alpha1NSQEventSource';
import { IoArgoprojEventsV1alpha1PubSubEventSource } from './ioArgoprojEventsV1alpha1PubSubEventSource';
import { IoArgoprojEventsV1alpha1PulsarEventSource } from './ioArgoprojEventsV1alpha1PulsarEventSource';
import { IoArgoprojEventsV1alpha1RedisEventSource } from './ioArgoprojEventsV1alpha1RedisEventSource';
import { IoArgoprojEventsV1alpha1RedisStreamEventSource } from './ioArgoprojEventsV1alpha1RedisStreamEventSource';
import { IoArgoprojEventsV1alpha1ResourceEventSource } from './ioArgoprojEventsV1alpha1ResourceEventSource';
import { IoArgoprojEventsV1alpha1S3Artifact } from './ioArgoprojEventsV1alpha1S3Artifact';
import { IoArgoprojEventsV1alpha1SNSEventSource } from './ioArgoprojEventsV1alpha1SNSEventSource';
import { IoArgoprojEventsV1alpha1SQSEventSource } from './ioArgoprojEventsV1alpha1SQSEventSource';
import { IoArgoprojEventsV1alpha1Service } from './ioArgoprojEventsV1alpha1Service';
import { IoArgoprojEventsV1alpha1SlackEventSource } from './ioArgoprojEventsV1alpha1SlackEventSource';
import { IoArgoprojEventsV1alpha1StorageGridEventSource } from './ioArgoprojEventsV1alpha1StorageGridEventSource';
import { IoArgoprojEventsV1alpha1StripeEventSource } from './ioArgoprojEventsV1alpha1StripeEventSource';
import { IoArgoprojEventsV1alpha1Template } from './ioArgoprojEventsV1alpha1Template';
import { IoArgoprojEventsV1alpha1WebhookEventSource } from './ioArgoprojEventsV1alpha1WebhookEventSource';

export class IoArgoprojEventsV1alpha1EventSourceSpec {
    'amqp'?: { [key: string]: IoArgoprojEventsV1alpha1AMQPEventSource; };
    'azureEventsHub'?: { [key: string]: IoArgoprojEventsV1alpha1AzureEventsHubEventSource; };
    'bitbucket'?: { [key: string]: IoArgoprojEventsV1alpha1BitbucketEventSource; };
    'bitbucketserver'?: { [key: string]: IoArgoprojEventsV1alpha1BitbucketServerEventSource; };
    'calendar'?: { [key: string]: IoArgoprojEventsV1alpha1CalendarEventSource; };
    'emitter'?: { [key: string]: IoArgoprojEventsV1alpha1EmitterEventSource; };
    'eventBusName'?: string;
    'file'?: { [key: string]: IoArgoprojEventsV1alpha1FileEventSource; };
    'generic'?: { [key: string]: IoArgoprojEventsV1alpha1GenericEventSource; };
    'github'?: { [key: string]: IoArgoprojEventsV1alpha1GithubEventSource; };
    'gitlab'?: { [key: string]: IoArgoprojEventsV1alpha1GitlabEventSource; };
    'hdfs'?: { [key: string]: IoArgoprojEventsV1alpha1HDFSEventSource; };
    'kafka'?: { [key: string]: IoArgoprojEventsV1alpha1KafkaEventSource; };
    'minio'?: { [key: string]: IoArgoprojEventsV1alpha1S3Artifact; };
    'mqtt'?: { [key: string]: IoArgoprojEventsV1alpha1MQTTEventSource; };
    'nats'?: { [key: string]: IoArgoprojEventsV1alpha1NATSEventsSource; };
    'nsq'?: { [key: string]: IoArgoprojEventsV1alpha1NSQEventSource; };
    'pubSub'?: { [key: string]: IoArgoprojEventsV1alpha1PubSubEventSource; };
    'pulsar'?: { [key: string]: IoArgoprojEventsV1alpha1PulsarEventSource; };
    'redis'?: { [key: string]: IoArgoprojEventsV1alpha1RedisEventSource; };
    'redisStream'?: { [key: string]: IoArgoprojEventsV1alpha1RedisStreamEventSource; };
    'replicas'?: number;
    'resource'?: { [key: string]: IoArgoprojEventsV1alpha1ResourceEventSource; };
    'service'?: IoArgoprojEventsV1alpha1Service;
    'slack'?: { [key: string]: IoArgoprojEventsV1alpha1SlackEventSource; };
    'sns'?: { [key: string]: IoArgoprojEventsV1alpha1SNSEventSource; };
    'sqs'?: { [key: string]: IoArgoprojEventsV1alpha1SQSEventSource; };
    'storageGrid'?: { [key: string]: IoArgoprojEventsV1alpha1StorageGridEventSource; };
    'stripe'?: { [key: string]: IoArgoprojEventsV1alpha1StripeEventSource; };
    'template'?: IoArgoprojEventsV1alpha1Template;
    'webhook'?: { [key: string]: IoArgoprojEventsV1alpha1WebhookEventSource; };

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "amqp",
            "baseName": "amqp",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1AMQPEventSource; }"
        },
        {
            "name": "azureEventsHub",
            "baseName": "azureEventsHub",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1AzureEventsHubEventSource; }"
        },
        {
            "name": "bitbucket",
            "baseName": "bitbucket",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1BitbucketEventSource; }"
        },
        {
            "name": "bitbucketserver",
            "baseName": "bitbucketserver",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1BitbucketServerEventSource; }"
        },
        {
            "name": "calendar",
            "baseName": "calendar",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1CalendarEventSource; }"
        },
        {
            "name": "emitter",
            "baseName": "emitter",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1EmitterEventSource; }"
        },
        {
            "name": "eventBusName",
            "baseName": "eventBusName",
            "type": "string"
        },
        {
            "name": "file",
            "baseName": "file",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1FileEventSource; }"
        },
        {
            "name": "generic",
            "baseName": "generic",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1GenericEventSource; }"
        },
        {
            "name": "github",
            "baseName": "github",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1GithubEventSource; }"
        },
        {
            "name": "gitlab",
            "baseName": "gitlab",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1GitlabEventSource; }"
        },
        {
            "name": "hdfs",
            "baseName": "hdfs",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1HDFSEventSource; }"
        },
        {
            "name": "kafka",
            "baseName": "kafka",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1KafkaEventSource; }"
        },
        {
            "name": "minio",
            "baseName": "minio",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1S3Artifact; }"
        },
        {
            "name": "mqtt",
            "baseName": "mqtt",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1MQTTEventSource; }"
        },
        {
            "name": "nats",
            "baseName": "nats",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1NATSEventsSource; }"
        },
        {
            "name": "nsq",
            "baseName": "nsq",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1NSQEventSource; }"
        },
        {
            "name": "pubSub",
            "baseName": "pubSub",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1PubSubEventSource; }"
        },
        {
            "name": "pulsar",
            "baseName": "pulsar",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1PulsarEventSource; }"
        },
        {
            "name": "redis",
            "baseName": "redis",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1RedisEventSource; }"
        },
        {
            "name": "redisStream",
            "baseName": "redisStream",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1RedisStreamEventSource; }"
        },
        {
            "name": "replicas",
            "baseName": "replicas",
            "type": "number"
        },
        {
            "name": "resource",
            "baseName": "resource",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1ResourceEventSource; }"
        },
        {
            "name": "service",
            "baseName": "service",
            "type": "IoArgoprojEventsV1alpha1Service"
        },
        {
            "name": "slack",
            "baseName": "slack",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1SlackEventSource; }"
        },
        {
            "name": "sns",
            "baseName": "sns",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1SNSEventSource; }"
        },
        {
            "name": "sqs",
            "baseName": "sqs",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1SQSEventSource; }"
        },
        {
            "name": "storageGrid",
            "baseName": "storageGrid",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1StorageGridEventSource; }"
        },
        {
            "name": "stripe",
            "baseName": "stripe",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1StripeEventSource; }"
        },
        {
            "name": "template",
            "baseName": "template",
            "type": "IoArgoprojEventsV1alpha1Template"
        },
        {
            "name": "webhook",
            "baseName": "webhook",
            "type": "{ [key: string]: IoArgoprojEventsV1alpha1WebhookEventSource; }"
        }    ];

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

