import { WorkflowNode } from "@/domain/workflow"; import { memo } from "react"; import DeployToAliyunOSS from "./DeployToAliyunOss"; import DeployToAliyunALB from "./DeployToAliyunALB"; import DeployToAliyunCDN from "./DeployToAliyunCDN"; import DeployToAliyunCLB from "./DeployToAliyunCLB"; import DeployToAliyunNLB from "./DeployToAliyunNLB"; import DeployToBaiduCloudCDN from "./DeployToBaiduCloudCDN"; import DeployToDogeCloudCDN from "./DeployToDogeCloudCDN"; import DeployToHuaweiCloudCDN from "./DeployToHuaweiCloudCDN"; import DeployToHuaweiCloudELB from "./DeployToHuaweiCloudELB"; import DeployToKubernetesSecret from "./DeployToKubernetesSecret"; import DeployToQiniuCDN from "./DeployToQiniuCDN"; import DeployToWebhook from "./DeployToWebhook"; import DeployToTencentCDN from "./DeployToTencentCDN"; import DeployToTencentCLB from "./DeployToTencentCLB"; import DeployToTencentCOS from "./DeployToTencentCOS"; import DeployToTencentTEO from "./DeployToTencentTEO"; import DeployToSSH from "./DeployToSSH"; import DeployToLocal from "./DeployToLocal"; export type DeployFormProps = { data: WorkflowNode; defaultProivder?: string; }; const DeployForm = ({ data, defaultProivder }: DeployFormProps) => { return
{getForm(data, defaultProivder)}
; }; export default memo(DeployForm); const getForm = (data: WorkflowNode, defaultProivder?: string) => { const provider = defaultProivder || data.config?.providerType; switch (provider) { case "aliyun-oss": return ; case "aliyun-alb": return ; case "aliyun-cdn": case "aliyun-dcdn": return ; case "aliyun-clb": return ; case "aliyun-nlb": return ; case "baiducloud-cdn": return ; case "dogecloud-cdn": return ; case "huaweicloud-cdn": return ; case "huaweicloud-elb": return ; case "k8s-secret": return ; case "qiniu-cdn": return ; case "webhook": return ; case "tencent-cdn": case "tencent-ecdn": return ; case "tencent-clb": return ; case "tencent-cos": return ; case "tencent-teo": return ; case "ssh": return ; case "local": return ; default: return <>; } };