Skip to main content

IdLE.Step.EnsureEntitlement

Generated file. Do not edit by hand. Source: tools/Generate-IdleStepReference.ps1

Summary​

  • Step Type: IdLE.Step.EnsureEntitlement
  • Module: IdLE.Steps.Common
  • Implementation: Invoke-IdleStepEnsureEntitlement
  • Idempotent: Yes
  • Required Capabilities: IdLE.Entitlement.List, IdLE.Entitlement.Grant, IdLE.Entitlement.Revoke

Synopsis​

Ensures that an entitlement assignment is present or absent for an identity.

Description​

This provider-agnostic step uses entitlement provider contracts to converge an assignment to the desired state. The engine passes the provider resolved from With.Provider (default 'Identity') as -Provider. The provider implements:

  • ListEntitlements(identityKey)

  • GrantEntitlement(identityKey, entitlement)

  • RevokeEntitlement(identityKey, entitlement)

The step is idempotent and only calls Grant/Revoke when the assignment needs to change.

With.Entitlement.Kind selects the entitlement type (e.g., 'Group', 'AdministrativeUnit'). The provider rejects a Kind it does not support (e.g., 'AdministrativeUnit' on AD).

Authentication is handled by the engine (With.AuthSessionName, With.AuthSessionOptions).

Inputs (With.*)​

Validated at plan time against the step's WithSchema (see Step metadata contract).

KeyTypeRequiredDefaultNotes
EntitlementHashtableYesKeys: DisplayName, Id (required), Kind (required)
IdentityKeyStringYes
StateStringNoPresentOne of: Present, Absent
AuthSessionNameStringNobroker default sessionAuth session routing key for the AuthSessionBroker.
AuthSessionOptionsHashtableNoData-only options passed to the AuthSessionBroker.
ProviderStringNoIdentityProvider alias in Providers.

Example​

@{
Name = 'Ensure group access'
Type = 'IdLE.Step.EnsureEntitlement'
With = @{
IdentityKey = 'user1'
Entitlement = @{ Kind = 'Group'; Id = 'example-group' }
State = 'Present'
}
}

See Also​