Introduction
The purpose of the DeprovisionResourceAssignmentsTask
is to deprovision resource assignments on the target systems. It also deletes resource assignment or changes assignment state if needed.
| Value |
---|---|
GUID |
|
Scheduled by default | |
Interval in seconds | 30 |
Concurrent | |
Parameters | uint[] with Identity Ids |
Work Items
Task does multiple things but…. how to write it well??
Primary filter for resource assignments
PrimaryAssignments | Condition |
---|---|
AssignmentState | is OR is OR |
Core Identity |
|
Identity | If task parameter is set - only resource assignments for selected Identities are returned |
Support for Deprovisioning delay
AssignmentsWithDeprovisioningDelay | Condition |
---|---|
current assignment → Resource → ResourceType → DeallocationDelayInSeconds | greater than 0 |
AssignmentState | is not |
If the assignment from AssignmentsWithDeprovisioningDelay does not have MarkedForDeprovisioningDate
- it will be removed from PrimaryAssignments collection and added to AAAAssignmentIdsToMarkForDeprovisioning
Also if it does have MarkedForDeprovisioningDate
but it’s time did not come - it will be removed from PrimaryAssignments collection.
TODO: write about RemoveAssignmentsThatShouldBeKeptBecauseOfRoleAssignment
Check for Same Assignment
There is no action for PrimaryAssignments that are also assigned by other valid assignment.
Check if the assignment is the same:
CoreIdentity is the same
Resource is the same
IdentityType is the same
assignment is not
Ignore
assignment is
in state
Assigned
or
PendingAssignment
and notIgnore
and NOW is betweenValidFrom
andValidTo