Skip to content

Class RestEndpointOverrideDescriptor

Namespace: Cephalon.Abstractions.Transports
Assembly: Cephalon.Abstractions.dll

Describes one host-level REST endpoint override rule visible to the current runtime for module-owned REST candidates that participate in host governance.

public sealed class RestEndpointOverrideDescriptor

objectRestEndpointOverrideDescriptor

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

RestEndpointOverrideDescriptor(string, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<int>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, int?, string?, string?, string?, string?, string?, string?, string?, string?, string?, bool, IReadOnlyList<string>?, bool, IReadOnlyList<RestEndpointBindingDescriptor>?, IReadOnlyList<string>?, bool, RestEndpointOverrideBindingMode, bool, bool, bool, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<RestEndpointBindingFallbackMode>?, IReadOnlyList<RestEndpointBindingDescriptor>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis>?, IReadOnlyList<RestEndpointOverrideActionKind>?, IReadOnlyList<RestEndpointOverrideActionKind>?, IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor>?, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?, IReadOnlyList<string>?, IReadOnlyList<string>?, bool)

Section titled “ RestEndpointOverrideDescriptor(string, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<int>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, int?, string?, string?, string?, string?, string?, string?, string?, string?, string?, bool, IReadOnlyList<string>?, bool, IReadOnlyList<RestEndpointBindingDescriptor>?, IReadOnlyList<string>?, bool, RestEndpointOverrideBindingMode, bool, bool, bool, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<RestEndpointBindingFallbackMode>?, IReadOnlyList<RestEndpointBindingDescriptor>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<string>?, IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis>?, IReadOnlyList<RestEndpointOverrideActionKind>?, IReadOnlyList<RestEndpointOverrideActionKind>?, IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor>?, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?, IReadOnlyList<string>?, IReadOnlyList<string>?, bool)”

Creates a REST endpoint override descriptor.

public RestEndpointOverrideDescriptor(string id, IReadOnlyList<string>? candidateIds = null, IReadOnlyList<string>? behaviorIds = null, IReadOnlyList<string>? sourceModuleIds = null, IReadOnlyList<string>? authoringStyles = null, IReadOnlyList<int>? apiVersionMajors = null, IReadOnlyList<string>? methods = null, IReadOnlyList<string>? relativePatterns = null, IReadOnlyList<string>? routeGroupPrefixes = null, int? apiVersionMajor = null, string? method = null, string? pattern = null, string? routeGroupPrefix = null, string? openApiDocumentName = null, string? tagName = null, string? endpointName = null, string? summary = null, string? description = null, string? requiredCapabilityKey = null, bool clearRequiredCapability = false, IReadOnlyList<string>? requiredFeatureFlagIds = null, bool clearRequiredFeatureFlags = false, IReadOnlyList<RestEndpointBindingDescriptor>? bindings = null, IReadOnlyList<string>? removedBindingProperties = null, bool clearBindings = false, RestEndpointOverrideBindingMode bindingMode = RestEndpointOverrideBindingMode.Unspecified, bool clearEndpointName = false, bool clearSummary = false, bool clearDescription = false, IReadOnlyList<string>? openApiDocumentNames = null, IReadOnlyList<string>? tagNames = null, IReadOnlyList<string>? endpointNames = null, IReadOnlyList<RestEndpointBindingFallbackMode>? bindingFallbackModes = null, IReadOnlyList<RestEndpointBindingDescriptor>? targetBindings = null, IReadOnlyList<string>? matchedCandidateIds = null, IReadOnlyList<string>? selectedCandidateIds = null, IReadOnlyList<string>? appliedCandidateIds = null, IReadOnlyList<string>? skippedCandidateIds = null, IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis>? selectionBases = null, IReadOnlyList<RestEndpointOverrideActionKind>? selectedActionKinds = null, IReadOnlyList<RestEndpointOverrideActionKind>? appliedActionKinds = null, IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor>? selectionBasisSummaries = null, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>? selectedActionKindSummaries = null, IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>? appliedActionKindSummaries = null, IReadOnlyList<string>? hostGovernanceScopes = null, IReadOnlyList<string>? behaviorIdPrefixes = null, bool preserveImplicitQueryFallback = false)

id string

The stable override identifier.

candidateIds IReadOnlyList<string>?

The original candidate identifiers targeted by the override rule.

behaviorIds IReadOnlyList<string>?

The behavior identifiers targeted by the override rule.

sourceModuleIds IReadOnlyList<string>?

The source-module identifiers targeted by the override rule.

authoringStyles IReadOnlyList<string>?

The normalized authoring styles targeted by the override rule. Explicit module-DSL routes participate only when their owning route group opted into host governance.

apiVersionMajors IReadOnlyList<int>?

The effective API major versions targeted by the override rule.

methods IReadOnlyList<string>?

The effective HTTP methods targeted by the override rule.

relativePatterns IReadOnlyList<string>?

The shorthand relative route patterns targeted by the override rule.

routeGroupPrefixes IReadOnlyList<string>?

The published route-group prefixes targeted by the override rule.

apiVersionMajor int?

The effective API major version applied when the rule matches.

method string?

The effective HTTP method applied when the rule matches.

pattern string?

The effective relative route pattern applied when the rule matches.

routeGroupPrefix string?

The effective published route-group prefix applied when the rule matches.

openApiDocumentName string?

The effective OpenAPI document name applied when the rule matches.

tagName string?

The effective primary OpenAPI tag name applied when the rule matches.

endpointName string?

The effective endpoint name applied when the rule matches.

summary string?

The effective OpenAPI summary applied when the rule matches.

description string?

The effective OpenAPI description applied when the rule matches.

requiredCapabilityKey string?

The required Cephalon capability key enforced at the REST boundary when the rule matches.

clearRequiredCapability bool

true when the rule removes any previously declared Cephalon capability boundary from the matched candidate.

requiredFeatureFlagIds IReadOnlyList<string>?

The required Cephalon feature-flag identifiers enforced at the REST boundary when the rule matches.

clearRequiredFeatureFlags bool

true when the rule removes any previously declared Cephalon feature-flag requirements from the matched candidate.

bindings IReadOnlyList<RestEndpointBindingDescriptor>?

The effective explicit request-binding plan applied when the rule matches.

removedBindingProperties IReadOnlyList<string>?

The explicit binding properties removed from the source binding plan when the rule matches.

clearBindings bool

true when the rule removes the matched candidate’s entire explicit binding plan and returns publication to the implicit request-binding baseline.

bindingMode RestEndpointOverrideBindingMode

The mode used to apply bindings and removedBindingProperties to the candidate’s explicit binding plan.

clearEndpointName bool

true when the rule removes any previously declared endpoint name from the matched candidate.

clearSummary bool

true when the rule removes any previously declared endpoint summary from the matched candidate.

clearDescription bool

true when the rule removes any previously declared endpoint description from the matched candidate.

openApiDocumentNames IReadOnlyList<string>?

The original candidate OpenAPI document names targeted by the override rule before override actions are applied.

tagNames IReadOnlyList<string>?

The original candidate primary OpenAPI tag names targeted by the override rule before override actions are applied.

endpointNames IReadOnlyList<string>?

The original candidate endpoint names targeted by the override rule before override actions are applied.

bindingFallbackModes IReadOnlyList<RestEndpointBindingFallbackMode>?

The original candidate request-binding fallback modes targeted by the override rule before override actions are applied.

targetBindings IReadOnlyList<RestEndpointBindingDescriptor>?

The original candidate explicit binding descriptors targeted by the override rule before override actions are applied.

matchedCandidateIds IReadOnlyList<string>?

The runtime candidate identifiers that matched this override rule, including candidates where another override rule won selection.

selectedCandidateIds IReadOnlyList<string>?

The runtime candidate identifiers that selected this override rule as the winning rule, including runtime no-op selections.

appliedCandidateIds IReadOnlyList<string>?

The runtime candidate identifiers whose effective answer was materially changed by this override rule.

skippedCandidateIds IReadOnlyList<string>?

The runtime candidate identifiers that this rule would otherwise target but skipped because the original projection did not allow host governance to participate.

selectionBases IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis>?

The union of decisive specificity rules that selected this override rule for one or more runtime candidates.

selectedActionKinds IReadOnlyList<RestEndpointOverrideActionKind>?

The union of configured override action dimensions that were selected for one or more runtime candidates, including runtime no-op selections.

appliedActionKinds IReadOnlyList<RestEndpointOverrideActionKind>?

The union of override action dimensions that materially changed one or more runtime candidates.

selectionBasisSummaries IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor>?

The grouped selection-basis buckets for runtime candidates that selected this override rule, including runtime no-op selections.

selectedActionKindSummaries IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?

The grouped override-action buckets for runtime candidates that selected this override rule, including runtime no-op selections.

appliedActionKindSummaries IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>?

The grouped override-action buckets for runtime candidates materially changed by this override rule.

hostGovernanceScopes IReadOnlyList<string>?

The original candidate host-governance scopes targeted by the override rule before override actions are applied.

behaviorIdPrefixes IReadOnlyList<string>?

The behavior-id prefixes targeted by the override rule. Prefix matches use the stable dot-separated behavior-id hierarchy, so a prefix targets the exact behavior id and any descendant behavior ids beneath that prefix.

preserveImplicitQueryFallback bool

true when the rule opts the matched explicit-binding shorthand candidate into preserved implicit-query fallback for any remaining unbound query properties.

Gets the normalized action dimensions declared by this override rule.

public IReadOnlyList<RestEndpointOverrideActionKind> ActionKinds { get; }

IReadOnlyList<RestEndpointOverrideActionKind>

Gets the effective API major version applied when this override rule matches.

public int? ApiVersionMajor { get; }

int?

Gets the effective API major versions targeted by this override rule.

public IReadOnlyList<int> ApiVersionMajors { get; }

IReadOnlyList<int>

Gets the grouped override-action buckets for runtime candidates materially changed by this override rule.

public IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor> AppliedActionKindSummaries { get; }

IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>

Gets the union of override action dimensions that materially changed one or more runtime candidates.

public IReadOnlyList<RestEndpointOverrideActionKind> AppliedActionKinds { get; }

IReadOnlyList<RestEndpointOverrideActionKind>

Gets the runtime candidate identifiers whose effective answer was materially changed by this override rule.

public IReadOnlyList<string> AppliedCandidateIds { get; }

IReadOnlyList<string>

Gets the normalized authoring styles targeted by this override rule. Explicit module-DSL routes participate only when their owning route group opted into host governance.

public IReadOnlyList<string> AuthoringStyles { get; }

IReadOnlyList<string>

Gets the behavior-id prefixes targeted by this override rule.

public IReadOnlyList<string> BehaviorIdPrefixes { get; }

IReadOnlyList<string>

Gets the behavior identifiers targeted by this override rule.

public IReadOnlyList<string> BehaviorIds { get; }

IReadOnlyList<string>

Gets the original candidate request-binding fallback modes targeted by this override rule.

public IReadOnlyList<RestEndpointBindingFallbackMode> BindingFallbackModes { get; }

IReadOnlyList<RestEndpointBindingFallbackMode>

Gets how and apply to the candidate’s explicit binding plan.

public RestEndpointOverrideBindingMode BindingMode { get; }

RestEndpointOverrideBindingMode

Gets the effective explicit request-binding plan applied when this override rule matches.

public IReadOnlyList<RestEndpointBindingDescriptor> Bindings { get; }

IReadOnlyList<RestEndpointBindingDescriptor>

Gets the original candidate identifiers targeted by this override rule.

public IReadOnlyList<string> CandidateIds { get; }

IReadOnlyList<string>

Gets a value indicating whether this override rule clears the matched candidate’s entire explicit binding plan.

public bool ClearBindings { get; }

bool

Gets a value indicating whether this override rule clears any previously declared endpoint description from the matched candidate.

public bool ClearDescription { get; }

bool

Gets a value indicating whether this override rule clears any previously declared endpoint name from the matched candidate.

public bool ClearEndpointName { get; }

bool

Gets a value indicating whether this override rule clears any previously declared Cephalon capability boundary from the matched candidate.

public bool ClearRequiredCapability { get; }

bool

Gets a value indicating whether this override rule clears any previously declared Cephalon feature-flag requirements from the matched candidate.

public bool ClearRequiredFeatureFlags { get; }

bool

Gets a value indicating whether this override rule clears any previously declared endpoint summary from the matched candidate.

public bool ClearSummary { get; }

bool

Gets the effective OpenAPI description applied when this override rule matches.

public string? Description { get; }

string?

Gets the effective endpoint name applied when this override rule matches.

public string? EndpointName { get; }

string?

Gets the original candidate endpoint names targeted by this override rule.

public IReadOnlyList<string> EndpointNames { get; }

IReadOnlyList<string>

Gets the original candidate host-governance scopes targeted by this override rule.

public IReadOnlyList<string> HostGovernanceScopes { get; }

IReadOnlyList<string>

Gets the stable override identifier.

public string Id { get; }

string

Gets the runtime candidate identifiers that matched this override rule, including candidates where another override rule won selection.

public IReadOnlyList<string> MatchedCandidateIds { get; }

IReadOnlyList<string>

Gets the effective HTTP method applied when this override rule matches.

public string? Method { get; }

string?

Gets the effective HTTP methods targeted by this override rule.

public IReadOnlyList<string> Methods { get; }

IReadOnlyList<string>

Gets the effective OpenAPI document name applied when this override rule matches.

public string? OpenApiDocumentName { get; }

string?

Gets the original candidate OpenAPI document names targeted by this override rule.

public IReadOnlyList<string> OpenApiDocumentNames { get; }

IReadOnlyList<string>

Gets the effective relative route pattern applied when this override rule matches.

public string? Pattern { get; }

string?

Gets a value indicating whether this override rule opts the matched explicit-binding shorthand candidate into preserved implicit-query fallback for remaining unbound query properties.

public bool PreserveImplicitQueryFallback { get; }

bool

Gets the relative route patterns targeted by this override rule.

public IReadOnlyList<string> RelativePatterns { get; }

IReadOnlyList<string>

Gets the explicit binding properties removed from the source binding plan when this override rule matches.

public IReadOnlyList<string> RemovedBindingProperties { get; }

IReadOnlyList<string>

Gets the required Cephalon capability key enforced at the REST boundary when this override rule matches.

public string? RequiredCapabilityKey { get; }

string?

Gets the required Cephalon feature-flag identifiers enforced at the REST boundary when this override rule matches.

public IReadOnlyList<string> RequiredFeatureFlagIds { get; }

IReadOnlyList<string>

Gets the effective published route-group prefix applied when this override rule matches.

public string? RouteGroupPrefix { get; }

string?

Gets the published route-group prefixes targeted by this override rule.

public IReadOnlyList<string> RouteGroupPrefixes { get; }

IReadOnlyList<string>

Gets the grouped override-action buckets for runtime candidates that selected this override rule, including runtime no-op selections.

public IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor> SelectedActionKindSummaries { get; }

IReadOnlyList<RestEndpointGovernanceOverrideActionKindSummaryDescriptor>

Gets the union of configured override action dimensions that were selected for one or more runtime candidates, including runtime no-op selections.

public IReadOnlyList<RestEndpointOverrideActionKind> SelectedActionKinds { get; }

IReadOnlyList<RestEndpointOverrideActionKind>

Gets the runtime candidate identifiers that selected this override rule as the winning rule, including runtime no-op selections.

public IReadOnlyList<string> SelectedCandidateIds { get; }

IReadOnlyList<string>

Gets the union of decisive specificity rules that selected this override rule for one or more runtime candidates.

public IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis> SelectionBases { get; }

IReadOnlyList<RestEndpointGovernanceRuleSelectionBasis>

Gets the grouped selection-basis buckets for runtime candidates that selected this override rule, including runtime no-op selections.

public IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor> SelectionBasisSummaries { get; }

IReadOnlyList<RestEndpointGovernanceSelectionBasisSummaryDescriptor>

Gets the runtime candidate identifiers that this rule would otherwise target but skipped because the original projection did not allow host governance to participate.

public IReadOnlyList<string> SkippedCandidateIds { get; }

IReadOnlyList<string>

Gets the source-module identifiers targeted by this override rule.

public IReadOnlyList<string> SourceModuleIds { get; }

IReadOnlyList<string>

Gets the effective OpenAPI summary applied when this override rule matches.

public string? Summary { get; }

string?

Gets the effective primary OpenAPI tag name applied when this override rule matches.

public string? TagName { get; }

string?

Gets the original candidate primary OpenAPI tag names targeted by this override rule.

public IReadOnlyList<string> TagNames { get; }

IReadOnlyList<string>

Gets the original candidate explicit binding descriptors targeted by this override rule before override actions are applied.

public IReadOnlyList<RestEndpointBindingDescriptor> TargetBindings { get; }

IReadOnlyList<RestEndpointBindingDescriptor>