1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
use super::*;

pub trait VolumeExt: Sized {
    fn secret(name: impl ToString, secret: corev1::SecretVolumeSource) -> Self;
}

impl VolumeExt for corev1::Volume {
    fn secret(name: impl ToString, secret: corev1::SecretVolumeSource) -> Self {
        let name = name.to_string();
        Self {
            name,
            secret: Some(secret),
            // aws_elastic_block_store: todo!(),
            // azure_disk: todo!(),
            // azure_file: todo!(),
            // cephfs: todo!(),
            // cinder: todo!(),
            // config_map: todo!(),
            // csi: todo!(),
            // downward_api: todo!(),
            // empty_dir: todo!(),
            // ephemeral: todo!(),
            // fc: todo!(),
            // flex_volume: todo!(),
            // flocker: todo!(),
            // gce_persistent_disk: todo!(),
            // git_repo: todo!(),
            // glusterfs: todo!(),
            // host_path: todo!(),
            // iscsi: todo!(),
            // nfs: todo!(),
            // persistent_volume_claim: todo!(),
            // photon_persistent_disk: todo!(),
            // portworx_volume: todo!(),
            // projected: todo!(),
            // quobyte: todo!(),
            // rbd: todo!(),
            // scale_io: todo!(),
            // storageos: todo!(),
            // vsphere_volume: todo!(),
            ..default()
        }
    }
}