public/Set-PulpRole.ps1
# .ExternalHelp powershell-pulp-help.xml Function Set-PulpRole { [Cmdletbinding(DefaultParameterSetName='Strings')] Param( [Parameter(Mandatory=$false)] [string]$Server = (Get-PulpLocalConfig -Server).Server, [Parameter(Mandatory=$false)] [int]$Port = (Get-PulpLocalConfig -Port).Port, [Parameter(Mandatory=$false)] [string]$Protocol = (Get-PulpLocalConfig -Protocol).Protocol, [Parameter(Mandatory=$false)] [string]$AuthenticationMethod = (Get-PulpLocalConfig -AuthenticationMethod).AuthenticationMethod, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ParameterSetName="Objects")] [PSCustomObject[]]$Role, [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ParameterSetName="Strings")] [string[]]$Id, [Parameter(Mandatory=$false, ParameterSetName="Objects")] [Parameter(Mandatory=$false, ParameterSetName="Strings")] [string]$DisplayName, [Parameter(Mandatory=$false, ParameterSetName="Objects")] [Parameter(Mandatory=$false, ParameterSetName="Strings")] [string]$Description ) Begin {} Process { If ($Role) { $Id = ($Role | Select-Object -ExpandProperty id) } Foreach ($i in $Id) { $delta = New-Object -TypeName PSCustomObject If ($DisplayName){ Add-Member -InputObject $delta -MemberType NoteProperty -Name display_name -Value $DisplayName } If ($Description) { Add-Member -InputObject $delta -MemberType NoteProperty -Name description -Value $Description } $uri = "/pulp/api/v2/roles/${i}/" $roleDelta = New-Object -TypeName PSCustomObject -Property @{delta=$delta} Invoke-PulpRestMethod -Server $Server -Port $Port -Protocol $Protocol ` -AuthenticationMethod $AuthenticationMethod -Uri $uri -Method Put ` -Body (ConvertTo-Json $roleDelta) } } } |