Skip to content

provider: trigger and wait for Entra Connect sync cycles (remote) #49

@blindzero

Description

@blindzero

Problem

In hybrid JML workflows an on-prem step may need to complete first, then IdLE must trigger an Entra Connect sync cycle (running on a different server) and optionally wait until the cycle is finished before continuing with Entra ID / EXO steps.

Proposed Solution

Add a provider capability for Entra Connect sync triggering + waiting, implemented via remote session acquisition (ExecutionContext.AcquireSession()), and a new built-in step that orchestrates “wait + trigger + wait”, including a “sync already running → wait + retry” default.

Acceptance Criteria

  • New provider contract/capability: DirectorySyncTrigger (name can vary) with:
    • GetSchedulerState() (must include SyncCycleInProgress)
    • StartSyncCycle(policyType)
  • New provider module implementation (remote Entra Connect server):
    • imports ADSync module and triggers Start-ADSyncSyncCycle -PolicyType Delta|Initial
    • supports polling via Get-ADSyncScheduler
      Microsoft Learn
  • New built-in step TriggerDirectorySync:
    • wait=true default
    • if sync already running: wait until idle, then trigger a new cycle (“retry”) by default
    • configurable: policyType, timeoutSeconds, pollIntervalSeconds, maxTriggerAttempts
    • emits structured events for wait/trigger/complete/timeout
  • Pester tests:
    • unit tests for step logic (mock provider; test: idle → trigger; running → wait+trigger; timeout; retry)
    • provider contract tests
  • Documentation:
    • update step reference (generator) if needed
    • CONTRIBUTING
    • add/update provider docs describing remote requirement and host session responsibility

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions