A feature that can be enabled or disabled

interface ContributedFeature {
    _links?: any;
    defaultState?: boolean;
    defaultValueRules?: ContributedFeatureValueRule[];
    description?: string;
    featureProperties?: { [key: string]: any };
    featureStateChangedListeners?: ContributedFeatureListener[];
    id?: string;
    includeAsClaim?: boolean;
    name?: string;
    order?: number;
    overrideRules?: ContributedFeatureValueRule[];
    scopes?: ContributedFeatureSettingScope[];
    serviceInstanceType?: string;
    tags?: string[];
}

Properties

_links?: any

Named links describing the feature

defaultState?: boolean

If true, the feature is enabled unless overridden at some scope

defaultValueRules?: ContributedFeatureValueRule[]

Rules for setting the default value if not specified by any setting/scope. Evaluated in order until a rule returns an Enabled or Disabled state (not Undefined)

description?: string

The description of the feature

featureProperties?: { [key: string]: any }

Extra properties for the feature

featureStateChangedListeners?: ContributedFeatureListener[]

Handler for listening to setter calls on feature value. These listeners are only invoked after a successful set has occurred

id?: string

The full contribution id of the feature

includeAsClaim?: boolean

If this is set to true, then the id for this feature will be added to the list of claims for the request.

name?: string

The friendly name of the feature

order?: number

Suggested order to display feature in.

overrideRules?: ContributedFeatureValueRule[]

Rules for overriding a feature value. These rules are run before explicit user/host state values are checked. They are evaluated in order until a rule returns an Enabled or Disabled state (not Undefined)

The scopes/levels at which settings can set the enabled/disabled state of this feature

serviceInstanceType?: string

The service instance id of the service that owns this feature

tags?: string[]

Tags associated with the feature.