mirror of
https://github.com/MAKS-IT-COM/podman-client-dotnet.git
synced 2026-08-15 14:48:11 +02:00
38 lines
1.9 KiB
C#
38 lines
1.9 KiB
C#
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<Result<VolumeInspectResponseDto?>> CreateVolumeAsync(
|
|
CreateVolumeRequest request,
|
|
CancellationToken cancellationToken = default
|
|
) =>
|
|
PostJsonAsync<CreateVolumeRequest, VolumeInspectResponseDto>(
|
|
"/libpod/volumes/create",
|
|
"Create volume",
|
|
request,
|
|
PodmanJsonContext.Default.CreateVolumeRequest,
|
|
PodmanJsonContext.Default.VolumeInspectResponseDto,
|
|
cancellationToken: cancellationToken
|
|
);
|
|
|
|
public Task<Result<List<VolumeListEntryDto>?>> ListVolumesAsync(CancellationToken cancellationToken = default) =>
|
|
GetJsonAsync<List<VolumeListEntryDto>>("/libpod/volumes/json", "List volumes", PodmanJsonContext.Default.ListVolumeListEntryDto, cancellationToken: cancellationToken);
|
|
|
|
public Task<Result<VolumeInspectResponseDto?>> InspectVolumeAsync(string name, CancellationToken cancellationToken = default) =>
|
|
GetJsonAsync<VolumeInspectResponseDto>($"/libpod/volumes/{Uri.EscapeDataString(name)}/json", "Inspect volume", PodmanJsonContext.Default.VolumeInspectResponseDto, cancellationToken: cancellationToken);
|
|
|
|
public Task<Result> DeleteVolumeAsync(string name, bool force = false, CancellationToken cancellationToken = default) =>
|
|
DeleteWithoutBodyAsync(
|
|
$"/libpod/volumes/{Uri.EscapeDataString(name)}",
|
|
"Delete volume",
|
|
[("force", force.ToString().ToLowerInvariant())],
|
|
cancellationToken
|
|
);
|
|
|
|
public Task<Result<List<PruneReportEntryDto>?>> PruneVolumesAsync(CancellationToken cancellationToken = default) =>
|
|
PostLibpodAsync<List<PruneReportEntryDto>>("/libpod/volumes/prune", "Prune volumes", PodmanJsonContext.Default.ListPruneReportEntryDto, cancellationToken: cancellationToken);
|
|
}
|