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;
}