Public/New-RetentionRule.ps1
# Code generated from specification version 1.0.0: DO NOT EDIT Function New-RetentionRule { <# .SYNOPSIS New retention rule .EXAMPLE PS> New-RetentionRule -DataType ALARM -MaximumAge 180 Create a retention rule to delete all alarms after 180 days #> [cmdletbinding(SupportsShouldProcess = $true, PositionalBinding=$true, HelpUri='', ConfirmImpact = 'High')] [Alias()] [OutputType([object])] Param( # RetentionRule will be applied to this type of documents, possible values [ALARM, AUDIT, EVENT, MEASUREMENT, OPERATION, *]. (required) [Parameter(Mandatory = $true)] [ValidateSet('ALARM','AUDIT','EVENT','MEASUREMENT','OPERATION','*')] [string] $DataType, # RetentionRule will be applied to documents with fragmentType. [Parameter()] [string] $FragmentType, # RetentionRule will be applied to documents with type. [Parameter()] [string] $Type, # RetentionRule will be applied to documents with source. [Parameter()] [string] $Source, # Maximum age of document in days. (required) [Parameter(Mandatory = $true)] [long] $MaximumAge, # Whether the rule is editable. Can be updated only by management tenant. [Parameter()] [switch] $Editable, # Include raw response including pagination information [Parameter()] [switch] $Raw, # Outputfile [Parameter()] [string] $OutputFile, # NoProxy [Parameter()] [switch] $NoProxy, # Session path [Parameter()] [string] $Session, # TimeoutSec timeout in seconds before a request will be aborted [Parameter()] [double] $TimeoutSec, # Don't prompt for confirmation [Parameter()] [switch] $Force ) Begin { $Parameters = @{} if ($PSBoundParameters.ContainsKey("DataType")) { $Parameters["dataType"] = $DataType } if ($PSBoundParameters.ContainsKey("FragmentType")) { $Parameters["fragmentType"] = $FragmentType } if ($PSBoundParameters.ContainsKey("Type")) { $Parameters["type"] = $Type } if ($PSBoundParameters.ContainsKey("Source")) { $Parameters["source"] = $Source } if ($PSBoundParameters.ContainsKey("MaximumAge")) { $Parameters["maximumAge"] = $MaximumAge } if ($PSBoundParameters.ContainsKey("Editable")) { $Parameters["editable"] = $Editable } if ($PSBoundParameters.ContainsKey("OutputFile")) { $Parameters["outputFile"] = $OutputFile } if ($PSBoundParameters.ContainsKey("NoProxy")) { $Parameters["noProxy"] = $NoProxy } if ($PSBoundParameters.ContainsKey("Session")) { $Parameters["session"] = $Session } if ($PSBoundParameters.ContainsKey("TimeoutSec")) { $Parameters["timeout"] = $TimeoutSec * 1000 } } Process { foreach ($item in @("")) { if (!$Force -and !$WhatIfPreference -and !$PSCmdlet.ShouldProcess( (PSc8y\Get-C8ySessionProperty -Name "tenant"), (Format-ConfirmationMessage -Name $PSCmdlet.MyInvocation.InvocationName -InputObject $item) )) { continue } Invoke-Command ` -Noun "retentionRules" ` -Verb "create" ` -Parameters $Parameters ` -Type "application/vnd.com.nsn.cumulocity.retentionRule+json" ` -ItemType "" ` -ResultProperty "" ` -Raw:$Raw ` -IncludeAll:$IncludeAll } } End {} } |