Toolkit/Public/New-RscSlaDuration.ps1
|
#Requires -Version 3 function New-RscSlaDuration { <# .SYNOPSIS Creates a duration input object for use with SLA-related cmdlets. .DESCRIPTION Builds a duration value that represents a length of time with a unit. The output is passed to parameters on New-RscSla, Set-RscSla, New-RscSlaReplicationSpecs, and New-RscSlaObjectSpecificConfig that accept duration inputs (e.g. -RetentionDuration, -LogRetention, -Frequency). .LINK Schema reference: https://rubrikinc.github.io/rubrik-api-documentation/schema/reference .PARAMETER Duration The numeric duration value. Interpreted according to the Unit parameter. .PARAMETER Unit The time unit for the duration (MINUTES, HOURS, DAYS, WEEKS, MONTHS, QUARTERS, YEARS). Defaults to MINUTES. .EXAMPLE Create a 7-day duration and use it as log retention for an Oracle SLA config. $retention = New-RscSlaDuration -Duration 7 -Unit DAYS New-RscSlaObjectSpecificConfig -Oracle -LogRetention $retention .EXAMPLE Create a 10-minute duration (unit defaults to MINUTES). New-RscSlaDuration -Duration 10 #> [CmdletBinding()] Param( # SLA Domain Duration [Parameter(Mandatory=$true, Position=0)] [Int]$Duration, # SLA Domain Duration Unit [Parameter(Position=1)] [ValidateSet("MINUTES","HOURS","DAYS","WEEKS","MONTHS","QUARTERS", "YEARS")] [RubrikSecurityCloud.Types.RetentionUnit] $Unit = [RubrikSecurityCloud.Types.RetentionUnit]::MINUTES ) Process { $slaDuration = New-Object -TypeName RubrikSecurityCloud.Types.SlaDurationInput $slaDuration.Duration = $Duration $slaDuration.Unit = $Unit $slaDuration } } |