/*
 * Tapis Workflows API
 *
 * Create and manage pipelines
 *
 * The version of the OpenAPI document: 1.6.0
 * Contact: cicsupport@tacc.utexas.edu
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum ReqContext {
    #[serde(rename = "github")]
    Github(Box<models::ReqGithubContext>),
    #[serde(rename = "gitlab")]
    Gitlab(Box<models::ReqGitlabContext>),
    #[serde(rename = "dockerhub")]
    Dockerhub(Box<models::ReqDockerhubContext>),
    #[serde(rename = "local")]
    Local(Box<models::ReqLocalContext>),
}

impl Default for ReqContext {
    fn default() -> Self {
        Self::Github(Default::default())
    }
}
