Skip to content
Tracon

ProductionProfileResult

Namespace Tracon · Assembly Tracon.Abstractions.dll

The answer one production profile check gives.

public sealed class ProductionProfileResult
Inheritance
object ← ProductionProfileResult
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Built through the three factory methods rather than a constructor, so a permissive answer cannot be written without the two things that make it actionable: what the setting is today, and how to change it. A startup failure that only names the setting sends the reader to the source.

No text on this type may carry a configuration VALUE. Every field is written into the startup exception and into the log, so a key, a connection string or a token placed here leaves the process. Describe the state (“no content guard is registered”), never the material.

Deliberately not a record: the generated ToString prints every field, which turns any log statement that formats the object into a second, unreviewed disclosure path.

Gets what the check observed, described rather than quoted. Empty for ProductionProfileState.Satisfied.

public string Observed { get; }

string

Gets how to answer the decision. Empty unless the state is ProductionProfileState.Permissive.

public string Remedy { get; }

string

Gets the setting or registration the check inspected, named the way a consumer would search for it — a configuration key such as Tracon:RateLimit:Enabled, or a contract such as IContentGuard.

public string Setting { get; }

string

Gets what the check found.

public ProductionProfileState State { get; }

ProductionProfileState

The decision does not apply to this composition.

public static ProductionProfileResult NotApplicable(string setting, string reason)

setting string

The setting or registration that was inspected.

reason string

Why the decision is meaningless here.

ProductionProfileResult

A not-applicable result.

ArgumentException

An argument is empty or white space.

ArgumentNullException

An argument is null.

The setting is still on its permissive default.

public static ProductionProfileResult Permissive(string setting, string observed, string remedy)

setting string

The setting or registration that was inspected.

observed string

What the setting is today, described without quoting its value.

remedy string

How to answer the decision.

ProductionProfileResult

A permissive result.

ArgumentException

An argument is empty or white space.

ArgumentNullException

An argument is null.

The feature is on; the decision was answered.

public static ProductionProfileResult Satisfied(string setting)

setting string

The setting or registration that was inspected.

ProductionProfileResult

A satisfied result.

ArgumentException

setting is empty or white space.

ArgumentNullException

setting is null.