Public/Remove-TenantFromTrigger.ps1
function Remove-TenantFromTrigger { <# .SYNOPSIS Removes one tenant from project triggers .DESCRIPTION Removes one tenant from project triggers .EXAMPLE PS C:\> Remove-TenantFromTrigger -ProjectTrigger $trigger -Tenant $tenant Removes the tenant $tenant from the project trigger $trigger. $tenant can be a single tenant. .PARAMETER ProjectTrigger The project trigger(s) from which the tenant should be removed .PARAMETER Tenant The tenant that should be removed from the project trigger #> [CmdletBinding()] param ( [Parameter(mandatory = $true)] [ProjectTriggerTransformation()] [Octopus.Client.Model.ProjectTriggerResource[]] $ProjectTrigger, [Parameter(mandatory, valueFromPipeline = $true)] [ValidateNotNullOrEmpty()] [TenantSingleTransformation()] [Octopus.Client.Model.TenantResource] $Tenant ) begin { try { ValidateConnection } catch { $PSCmdlet.ThrowTerminatingError($_) } } process { # Remove the tenant from the project trigger foreach ($trigger in $ProjectTrigger) { $result = $trigger.Action.TenantIds.Remove($Tenant.id) if (-not $result) { Write-Verbose "Tenant $($Tenant.Name) is not connected to the project trigger $($trigger.Name)" continue } try { $null = $repo._repository.ProjectTriggers.Modify($trigger) Write-Verbose "Removed tenant $($Tenant.Name) from project trigger $($trigger.Name)" } catch { $PSCmdlet.WriteError($_) } } } end {} } |