Toolkit/Public/Get-RscPermission.ps1
|
#Requires -Version 3 function Get-RscPermission { <# .SYNOPSIS Retrieves permissions defined within an RSC role. .DESCRIPTION Returns the permissions that make up an RSC role. Each permission defines an operation and a set of objects that the operation can be performed on. Use -Operation to filter to a specific permission. The output can be modified and merged back into a role using Merge-RscPermission. .LINK Schema reference: https://rubrikinc.github.io/rubrik-api-documentation/schema/reference .PARAMETER Operation Filter to a specific operation type (e.g., TAKE_ON_DEMAND_SNAPSHOT). .PARAMETER Role A role object to retrieve permissions from. Pipe from Get-RscRole. .EXAMPLE # Get all permissions for a role Get-RscRole "Admin" | Get-RscPermission .EXAMPLE # Get a specific permission from a role $perm = Get-RscRole "BackupAdmin" | Get-RscPermission -Operation TAKE_ON_DEMAND_SNAPSHOT #> [CmdletBinding()] Param( [Parameter(Mandatory=$false)] [RubrikSecurityCloud.Types.Operation]$Operation, [Parameter(ValueFromPipeline=$true, Mandatory=$true)] [RubrikSecurityCloud.Types.Role]$Role ) Process { if ($Operation) { $operationIndex = $Role.permissions.findindex({ param($item) $item.Operation -eq $Operation}) if ($operationIndex -ne -1) { $Role.Permissions[$operationIndex] } } else { $Role.Permissions } } } |