using System; using System.Collections.Generic; using System.Text.Json.Serialization; namespace BinaryLane.Api.V2.Models; /// Changes mutable metadata on an image. public sealed class ImageRequest : BinaryLaneRequestModel { [JsonPropertyName("name")] public string? Name { get; init; } [JsonPropertyName("locked")] public bool? Locked { get; init; } } /// Uploads an image into a backup slot. public sealed class UploadImageRequest : BinaryLaneRequestModel { /// Provider backup slot, required unless the replacement strategy is specified. [JsonPropertyName("backup_type")] public string? BackupType { get; init; } /// Provider replacement strategy: none, specified, oldest, or newest. [JsonPropertyName("replacement_strategy")] public string ReplacementStrategy { get; init; } = string.Empty; [JsonPropertyName("backup_id_to_replace")] public long? BackupIdToReplace { get; init; } [JsonPropertyName("label")] public string? Label { get; init; } [JsonPropertyName("url")] public string Url { get; init; } = string.Empty; }