using MaksIT.PodmanClientDotNet.Dtos.Common;
using MaksIT.PodmanClientDotNet.Dtos.Image;
using MaksIT.PodmanClientDotNet.Streaming;
using MaksIT.Results;
///
/// Image pull, push, list, inspect, tag, search, load, import, export, and prune endpoints.
///
public interface IPodmanImagesClient {
Task PullImageAsync(
string reference,
bool tlsVerify = true,
bool quiet = false,
string policy = "always",
string? arch = null,
string? os = null,
string? variant = null,
bool allTags = false,
string? authHeader = null
);
Task TagImageAsync(string image, string repo, string tag);
Task?>> ListImagesAsync(
bool all = false,
string? filters = null,
CancellationToken cancellationToken = default
);
Task> InspectImageAsync(string name, CancellationToken cancellationToken = default);
Task ImageExistsAsync(string name, CancellationToken cancellationToken = default);
Task> DeleteImageAsync(string name, bool force = false, CancellationToken cancellationToken = default);
Task> RemoveImagesAsync(
IEnumerable images,
bool all = false,
bool force = false,
CancellationToken cancellationToken = default
);
Task?>> PruneImagesAsync(CancellationToken cancellationToken = default);
Task?>> SearchImagesAsync(string term, int? limit = null, CancellationToken cancellationToken = default);
Task PushImageAsync(
string name,
string? destination = null,
bool tlsVerify = true,
bool compress = false,
string? authHeader = null,
CancellationToken cancellationToken = default
);
Task UntagImageAsync(string name, string? repo = null, string? tag = null, CancellationToken cancellationToken = default);
Task?>> GetImageHistoryAsync(string name, CancellationToken cancellationToken = default);
Task> GetImageTreeAsync(string name, CancellationToken cancellationToken = default);
Task> GetImageChangesAsync(string name, CancellationToken cancellationToken = default);
Task> ImportImageAsync(
Stream? tarball = null,
string? changes = null,
string? message = null,
string? reference = null,
string? url = null,
CancellationToken cancellationToken = default
);
Task> LoadImageAsync(Stream tarball, CancellationToken cancellationToken = default);
Task> ExportImagesAsync(
IEnumerable references,
string? format = null,
bool compress = false,
CancellationToken cancellationToken = default
);
Task> GetImageAsync(string name, string? format = null, bool compress = false, CancellationToken cancellationToken = default);
Task?>> PullImageWithProgressAsync(
string reference,
bool tlsVerify = true,
bool quiet = false,
string policy = "always",
string? arch = null,
string? os = null,
string? variant = null,
bool allTags = false,
string? authHeader = null,
CancellationToken cancellationToken = default
);
}