Class S3Options
- Namespace
- Builvero.Application.Options
- Assembly
- Builvero.Application.dll
Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
public sealed class S3Options
- Inheritance
-
S3Options
- Inherited Members
Fields
SectionName
public const string SectionName = "S3"
Field Value
- string
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
Properties
Enabled
Master switch to enable/disable S3 integration. When false, S3 operations will use NoopObjectStorage (test-safe, no AWS calls).
public bool Enabled { get; init; }
Property Value
- bool
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
Endpoint
Optional S3 endpoint URL (for LocalStack/minio compatibility). If not specified, uses default AWS S3 endpoint.
public string? Endpoint { get; init; }
Property Value
- string
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
ForcePathStyle
Force path-style URLs (required for LocalStack/minio). Default: false (uses virtual-hosted style).
public bool ForcePathStyle { get; init; }
Property Value
- bool
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
ProfilePhotosBucket
S3 bucket name for profile photos and resumes. Required when Enabled=true in non-Test environments.
public string ProfilePhotosBucket { get; init; }
Property Value
- string
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
PublicBaseUrl
Optional public base URL for assets (when UsePublicUrls=true). If not specified, constructs URL from bucket name and region.
public string? PublicBaseUrl { get; init; }
Property Value
- string
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
Region
AWS region for S3 operations. Required when Enabled=true in non-Test environments.
public string Region { get; init; }
Property Value
- string
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.
UsePublicUrls
Use public URLs instead of presigned URLs (for public buckets). Default: false (uses presigned URLs for private buckets).
public bool UsePublicUrls { get; init; }
Property Value
- bool
- Strongly-typed S3 configuration options with feature flags. Validation is environment-aware: Test environment allows missing config, Production/Staging/Local require it when Enabled=true.