use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MakeToolProviderDetails {
#[serde(rename = "templateUrl", skip_serializing_if = "Option::is_none")]
pub template_url: Option<String>,
#[serde(rename = "setupInstructions", skip_serializing_if = "Option::is_none")]
pub setup_instructions: Option<Vec<models::ToolTemplateSetup>>,
#[serde(rename = "type")]
pub r#type: TypeTrue,
#[serde(rename = "scenarioId", skip_serializing_if = "Option::is_none")]
pub scenario_id: Option<f64>,
#[serde(rename = "scenarioName", skip_serializing_if = "Option::is_none")]
pub scenario_name: Option<String>,
#[serde(rename = "triggerHookId", skip_serializing_if = "Option::is_none")]
pub trigger_hook_id: Option<f64>,
#[serde(rename = "triggerHookName", skip_serializing_if = "Option::is_none")]
pub trigger_hook_name: Option<String>,
}
impl MakeToolProviderDetails {
pub fn new(r#type: TypeTrue) -> MakeToolProviderDetails {
MakeToolProviderDetails {
template_url: None,
setup_instructions: None,
r#type,
scenario_id: None,
scenario_name: None,
trigger_hook_id: None,
trigger_hook_name: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TypeTrue {
#[serde(rename = "make")]
Make,
}
impl Default for TypeTrue {
fn default() -> TypeTrue {
Self::Make
}
}