docker/volumes.v

49 lines
1.1 KiB
Coq
Raw Normal View History

2022-06-22 09:15:00 +02:00
module docker
import net.http { Method }
import time
2022-06-18 22:48:09 +02:00
struct UsageData {
size int [json: Size]
ref_count int [json: RefCount]
}
struct Volume {
2022-06-18 22:48:09 +02:00
created_at_str string [json: CreatedAt]
pub mut:
created_at time.Time [skip]
2022-06-18 22:48:09 +02:00
name string [json: Name]
driver string [json: Driver]
mountpoint string [json: Mountpoint]
status map[string]string [json: Status]
labels map[string]string [json: Labels]
scope string [json: Scope]
options map[string]string [json: Options]
usage_data UsageData [json: UsageData]
}
2022-06-21 20:28:25 +02:00
[params]
pub struct VolumeListFilter {
dangling bool
driver string
labels []string
name string
}
struct VolumeListResponse {
volumes []Volume [json: Volumes]
warnings []string [json: Warnings]
}
pub fn (mut d DockerConn) volume_list() ?VolumeListResponse {
d.send_request(Method.get, '/volumes')?
2022-06-21 20:28:25 +02:00
mut data := d.read_json_response<VolumeListResponse>()?
2022-06-18 22:48:09 +02:00
for mut vol in data.volumes {
vol.created_at = time.parse_rfc3339(vol.created_at_str)?
}
return data
}