@startuml namespace main { class ArgoBuilder << (S,Aquamarine) >> { - graph Graph - branches [][]string + Workflow Workflow - createTemplates() - createDAGstep() - createVolumes() - getDependency(current_computing_id string) []string + CreateDAG() bool } class Container << (S,Aquamarine) >> { + Image string + Command []string + Args []string + VolumeMounts []VolumeMount } class Dag << (S,Aquamarine) >> { + Tasks []Task } class Link << (S,Aquamarine) >> { + Src string + Dst string } class Parameter << (S,Aquamarine) >> { + Name string + Value string } class Spec << (S,Aquamarine) >> { + Entrypoint string + Arguments []Parameter + Volumes []VolumeClaimTemplate + Templates []Template } class Task << (S,Aquamarine) >> { + Name string + Template string + Dependencies []string + Arguments struct{[]Parameter} } class Template << (S,Aquamarine) >> { + Name string + Inputs struct{[]Parameter} + Container Container + Dag Dag } class VolumeClaimTemplate << (S,Aquamarine) >> { + Metadata struct{string} + Spec VolumeSpec } class VolumeMount << (S,Aquamarine) >> { + Name string + MountPath string } class VolumeSpec << (S,Aquamarine) >> { + AccessModes []string + Resources struct{struct{string}} } class Workflow << (S,Aquamarine) >> { + ApiVersion string + Kind string + Metadata struct{string} + Spec Spec } } @enduml