using System.ComponentModel.DataAnnotations;
namespace TakeoutSaaS.Module.Storage.Options;
///
/// 腾讯云 COS 访问配置。
///
public sealed class TencentCosOptions
{
///
/// SecretId。
///
[Required]
public string SecretId { get; set; } = string.Empty;
///
/// SecretKey。
///
[Required]
public string SecretKey { get; set; } = string.Empty;
///
/// 存储地域(如 ap-guangzhou)。
///
[Required]
public string Region { get; set; } = string.Empty;
///
/// 存储桶名称(含 AppId,如 takeout-bucket-123456)。
///
[Required]
public string Bucket { get; set; } = string.Empty;
///
/// COS 自定义域名或 API Endpoint(可选),未配置则根据 Region 生成默认域名。
///
public string? Endpoint { get; set; }
///
/// CDN 域名(可选),用于生成加速访问地址。
///
[Url]
public string? CdnBaseUrl { get; set; }
///
/// 是否使用 HTTPS。
///
public bool UseHttps { get; set; } = true;
///
/// 是否强制使用 PathStyle 访问,COS 默认可使用虚拟主机形式。
///
public bool ForcePathStyle { get; set; }
}