Language

SignalAggregationGroup Class

Definition

A logical group of signals on an entity, evaluated under a configurable aggregation strategy. Groups are independent even when they share members. Each group's aggregated state is one of the inputs to the entity's composite health computation alongside any signals not declared in any group's members[].

public class SignalAggregationGroup : System.ClientModel.Primitives.IJsonModel<Azure.ResourceManager.CloudHealth.Models.SignalAggregationGroup>, System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.CloudHealth.Models.SignalAggregationGroup>
type SignalAggregationGroup = class
    interface IJsonModel<SignalAggregationGroup>
    interface IPersistableModel<SignalAggregationGroup>
Public Class SignalAggregationGroup
Implements IJsonModel(Of SignalAggregationGroup), IPersistableModel(Of SignalAggregationGroup)
Inheritance
SignalAggregationGroup
Implements

Constructors

Name Description
SignalAggregationGroup(String, IEnumerable<String>)

Initializes a new instance of SignalAggregationGroup.

Properties

Name Description
AggregatedHealthState

Computed aggregated health state of the group as of the last entity evaluation. Unknown if no resolvable members or all members filtered out.

AggregationType

Aggregation strategy applied across the members of this group.

DegradedThreshold

Degraded threshold for threshold-bearing strategies (MinHealthy, MaxNotHealthy). For MinHealthy: group is degraded when the healthy member count/percentage falls to or below this value. For MaxNotHealthy: group is degraded when the not-healthy member count/percentage reaches or exceeds this value. Optional — if not set, the group transitions directly between Healthy and Unhealthy. MUST NOT be set when aggregationType is WorstOf or BestOf.

DisplayName

Display name.

Members

Names of signals on this entity which are members of the group. Members are matched by name; references to signals that do not currently exist on the entity are accepted (typically for pre-declared external signals) and surfaced via 'unresolvedMembers'. A signal may be listed in multiple groups; no duplicates within this list.

Name

Name of the aggregation group. Unique within the entity.

ShouldIgnoreUnknown

If true (default), members reporting Unknown are excluded from the aggregation. For MinHealthy and MaxNotHealthy this flag affects the denominator/count and is meaningful. For WorstOf and BestOf the flag has no observable effect: under WorstOf, Unknown=0 is the lowest severity and can never beat any non-Unknown member in a Max() so filtering it changes nothing observable; under BestOf, Unknown is unconditionally excluded by the strategy itself irrespective of the flag. The flag is retained on the contract for vocabulary symmetry across all four strategies.

UnhealthyThreshold

Unhealthy threshold for threshold-bearing strategies. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.

Unit

Unit type for the thresholds. Required when aggregationType is MinHealthy or MaxNotHealthy; MUST NOT be set otherwise.

UnresolvedMembers

Members listed in 'members' that do not currently resolve to a signal on this entity at the time of the last entity evaluation. Treated as Unknown during aggregation. Empty/omitted when every member resolves.

Methods

Name Description
JsonModelCreateCore(Utf8JsonReader, ModelReaderWriterOptions)
JsonModelWriteCore(Utf8JsonWriter, ModelReaderWriterOptions)
PersistableModelCreateCore(BinaryData, ModelReaderWriterOptions)
PersistableModelWriteCore(ModelReaderWriterOptions)

Explicit Interface Implementations

Name Description
IJsonModel<SignalAggregationGroup>.Create(Utf8JsonReader, ModelReaderWriterOptions)
IJsonModel<SignalAggregationGroup>.Write(Utf8JsonWriter, ModelReaderWriterOptions)
IPersistableModel<SignalAggregationGroup>.Create(BinaryData, ModelReaderWriterOptions)
IPersistableModel<SignalAggregationGroup>.GetFormatFromOptions(ModelReaderWriterOptions)
IPersistableModel<SignalAggregationGroup>.Write(ModelReaderWriterOptions)

Applies to