using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace BinaryLane.Api.V2.Models;
/// A BinaryLane region in which a resource can be created.
public sealed class Region : BinaryLaneDto
{
[JsonPropertyName("slug")]
public string Slug { get; init; } = string.Empty;
[JsonPropertyName("name")]
public string Name { get; init; } = string.Empty;
[JsonPropertyName("sizes")]
public IReadOnlyList Sizes { get; init; } = Array.Empty();
[JsonPropertyName("available")]
public bool Available { get; init; }
[JsonPropertyName("features")]
public IReadOnlyList Features { get; init; } = Array.Empty();
[JsonPropertyName("name_servers")]
public IReadOnlyList NameServers { get; init; } = Array.Empty();
}
public sealed class RegionsResponse : BinaryLaneDto
{
[JsonPropertyName("meta")]
public PageMeta Meta { get; init; } = new();
[JsonPropertyName("links")]
public PageLinks? Links { get; init; }
[JsonPropertyName("regions")]
public IReadOnlyList Regions { get; init; } = Array.Empty();
}