TestimoX

API Reference

Class

GroupGraphSnapshot

Namespace ADPlayground.Groups
Assembly ADPlayground
Modifiers sealed

Represents a reusable in-memory group membership graph snapshot for a selected root set.

Inheritance

  • Object
  • GroupGraphSnapshot

Constructors

GroupGraphSnapshot(System.DateTimeOffset createdAtUtc, System.Collections.Generic.IReadOnlyDictionary{System.String,ADPlayground.GroupMembershipEntry} rootMemberships, System.Collections.Generic.IReadOnlyDictionary{System.String,ADPlayground.GroupMembershipEntry} flattenedEntries) #

Initializes a new instance of the GroupGraphSnapshot class.

Parameters

createdAtUtc System.DateTimeOffset required
Timestamp when the snapshot was created.
rootMemberships System.Collections.Generic.IReadOnlyDictionary{System.String,ADPlayground.GroupMembershipEntry} required
Root group memberships keyed by distinguished name.
flattenedEntries System.Collections.Generic.IReadOnlyDictionary{System.String,ADPlayground.GroupMembershipEntry} required
Flattened membership entries keyed by distinguished name.

Methods

public static async Task<GroupGraphSnapshot> BuildAsync(IEnumerable<String> groupIdentities, Int32 maxParallel = 3, Int32 maxDepth = 256, Int32 maxCacheSize = 10000, CancellationToken cancellationToken = null) #
Returns: Task<GroupGraphSnapshot>

Builds a reusable group membership graph snapshot for the provided root identities.

Parameters

groupIdentities System.Collections.Generic.IEnumerable{System.String} requiredposition: 0
Group distinguished names or supported identities.
maxParallel System.Int32 = 3 optionalposition: 1
Maximum resolver concurrency.
maxDepth System.Int32 = 256 optionalposition: 2
Maximum recursion depth.
maxCacheSize System.Int32 = 10000 optionalposition: 3
Maximum resolver cache size (minimum effective value: 10000).
cancellationToken System.Threading.CancellationToken = null optionalposition: 4
Cancellation token.

Returns

Snapshot with root and flattened membership maps.

Properties

public DateTimeOffset CreatedAtUtc { get; } #

Gets the snapshot creation timestamp in UTC.

public IReadOnlyDictionary<String, GroupMembershipEntry> RootMemberships { get; } #

Gets root group memberships keyed by distinguished name.

public IReadOnlyDictionary<String, GroupMembershipEntry> FlattenedEntries { get; } #

Gets flattened membership entries keyed by distinguished name.