Public/Software/New-FleetSelfServiceCategory.ps1
|
function New-FleetSelfServiceCategory { <# .SYNOPSIS Creates a self-service software category. .DESCRIPTION Sends POST /api/v1/fleet/software/self_service_categories. The name must be unique within the fleet and at most 255 characters. .PARAMETER FleetId Fleet ID. Use 0 for unassigned hosts. .PARAMETER Name Category name. .EXAMPLE New-FleetSelfServiceCategory -FleetId 3 -Name "Engineering" .NOTES This cmdlet requires Fleet Premium. The Fleet Free service returns HTTP 402. https://fleetdm.com/docs/rest-api/rest-api#add-self-service-category https://fleetdm.com/guides/software-self-service .LINK https://fleetdm.com/docs/rest-api/rest-api#add-self-service-category #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'Medium')] param( [Parameter(Mandatory)] [ValidateRange(0, [int]::MaxValue)] [int]$FleetId, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [ValidateLength(1, 255)] [string]$Name ) process { if ($PSCmdlet.ShouldProcess($Name, "Create self-service category on fleet $FleetId")) { $response = Invoke-FleetDMRequest -Endpoint 'software/self_service_categories' -Method POST -Body @{ fleet_id = $FleetId name = $Name } return (Get-FleetResponseRecord -Response $response -Name 'self_service_category' -TypeName 'FleetDM.SelfServiceCategory') } } } |