using MaksIT.PodmanClientDotNet; using MaksIT.PodmanClientDotNet.Dtos.Common; using MaksIT.PodmanClientDotNet.Dtos.Volume; using MaksIT.PodmanClientDotNet.Models.Volume; using MaksIT.Results; public partial class PodmanClient { public Task> CreateVolumeAsync( CreateVolumeRequest request, CancellationToken cancellationToken = default ) => PostJsonAsync( "/libpod/volumes/create", "Create volume", request, PodmanJsonContext.Default.CreateVolumeRequest, PodmanJsonContext.Default.VolumeInspectResponseDto, cancellationToken: cancellationToken ); public Task?>> ListVolumesAsync(CancellationToken cancellationToken = default) => GetJsonAsync>("/libpod/volumes/json", "List volumes", PodmanJsonContext.Default.ListVolumeListEntryDto, cancellationToken: cancellationToken); public Task> InspectVolumeAsync(string name, CancellationToken cancellationToken = default) => GetJsonAsync($"/libpod/volumes/{Uri.EscapeDataString(name)}/json", "Inspect volume", PodmanJsonContext.Default.VolumeInspectResponseDto, cancellationToken: cancellationToken); public Task DeleteVolumeAsync(string name, bool force = false, CancellationToken cancellationToken = default) => DeleteWithoutBodyAsync( $"/libpod/volumes/{Uri.EscapeDataString(name)}", "Delete volume", [("force", force.ToString().ToLowerInvariant())], cancellationToken ); public Task?>> PruneVolumesAsync(CancellationToken cancellationToken = default) => PostLibpodAsync>("/libpod/volumes/prune", "Prune volumes", PodmanJsonContext.Default.ListPruneReportEntryDto, cancellationToken: cancellationToken); }