Table of Contents

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.