use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MarketplaceIntegrationConfig {
pub enable_integrations: bool,
pub cloud_integrations: Vec<CloudIntegration>,
pub hardware_integrations: Vec<HardwareIntegration>,
pub development_tools: Vec<DevelopmentToolIntegration>,
pub api_config: APIConfig,
pub workflow_integration: WorkflowIntegrationConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum CloudIntegration {
AWS,
Azure,
Google,
IBM,
Alibaba,
Oracle,
DigitalOcean,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum HardwareIntegration {
IBMQuantum,
GoogleQuantumAI,
IonQ,
Rigetti,
Honeywell,
Oxford,
PsiQuantum,
Xanadu,
Atos,
Cambridge,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum DevelopmentToolIntegration {
Jupyter,
VSCode,
GitHub,
GitLab,
Docker,
Kubernetes,
JupyterLab,
Colab,
Eclipse,
IntelliJ,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct APIConfig {
pub api_version: String,
pub rate_limits: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WorkflowIntegrationConfig {
pub enable_workflows: bool,
pub supported_workflows: Vec<String>,
}