switchboard_container_utils/container/
docker.rs1use crate::container::*;
2use async_trait::async_trait;
3use std::sync::Arc;
4
5#[derive(Clone, Debug)]
6pub struct DockerContainer {
7 pub id: String,
8 pub image_name: String,
9 pub env: Vec<String>,
10 pub docker: Arc<Docker>,
11 pub config: Config<String>,
12}
13
14impl DockerContainer {
15 pub fn new(
16 docker: Arc<Docker>,
17 id: String, image_name: String,
19 env: Vec<String>,
20 config: Config<String>,
21 ) -> Self {
22 Self {
23 id,
24 image_name,
25 env,
26 docker,
27 config,
28 }
29 }
30}
31
32#[async_trait]
33impl Container for DockerContainer {
34 fn docker(&self) -> &Arc<Docker> {
35 &self.docker
36 }
37
38 fn id(&self) -> &String {
39 &self.id
40 }
41
42 fn image_name(&self) -> &String {
43 &self.image_name
44 }
45}