Public/Remove-SemaphoreProjectTemplate.ps1
function Remove-SemaphoreProjectTemplate { <# .SYNOPSIS Removes a Semaphore project template. .DESCRIPTION This function removes a Semaphore project template. .PARAMETER ProjectId The ID of the project. .PARAMETER Id The ID of the template to remove. .EXAMPLE Remove-SemaphoreProjectTemplate -ProjectId 2 -Id 1 Removes the template with ID 1 from the project with ID 2. .NOTES To use this function, make sure you have already connected using the Connect-Semaphore function. #> [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] [ValidateRange(1, [int]::MaxValue)] [int] $ProjectId, [Parameter(Mandatory = $true)] [ValidateRange(1, [int]::MaxValue)] [int] $Id ) begin { Write-Verbose -Message "Calling function $($MyInvocation.MyCommand)" if(!$Script:Session) { throw "Please run Connect-Semaphore first" } } process { #Region Send the request to remove try { if($PSCmdlet.ShouldProcess("Project $ProjectId", "Remove $Id")) { Invoke-RestMethod -Uri "$($Script:Config.url)/project/$ProjectId/templates/$Id" -Method Delete -WebSession $Script:Session | Out-Null } } catch { throw $_ } #EndRegion } end { } } |