functions/Actions/AzureCacheForRedis/Invoke-AzureFailureCacheForRedisReboot.ps1
|
function Invoke-AzureFailureCacheForRedisReboot { [CmdletBinding(SupportsShouldProcess = $true)] param ( [Parameter(Mandatory = $true)] [string] $Step, [Parameter(Mandatory = $true)] [string] $Branch, [Parameter(Mandatory = $true)] [string[]] $TargetResourceId, [ValidateSet("PrimaryNode", "SecondaryNode", "AllNodes")] [string] $RebootType = 'PrimaryNode', [string] $ShardId = '0', [string] $ActionName = "urn:csci:microsoft:azureClusteredCacheForRedis:reboot/1.0" ) foreach ($target in $TargetResourceId) { Write-PSFMessage -Level Verbose -Message "Step ($Step), Branch ($Branch), Target ($target): Rebooting $($RebootType)." $rgName = ($target -split '/')[4] $serverName = ($target -split '/')[-1] $actionTriggerTime = Get-Date if ($PSCmdlet.ShouldProcess("Redis Cache", "Reboot")) { Reset-AzRedisCache -ResourceGroupName $rgName -Name $serverName -RebootType $RebootType -Force -ShardId $ShardId } $actionCompleteTime = Get-Date $actionStatus = if ($WhatIfPreference -or $PSCmdlet.WhatIfIsPresent) { "WhatIf" } else { "Success" } $paramUpdateAzureFailureTrace = @{ ResourceId = $target Step = $Step Branch = $Branch Action = $ActionName ActionStatus = $actionStatus ActionMessage = $actionMessage ActionTriggerTime = $actionTriggerTime ActionCompleteTime = $actionCompleteTime } Update-AzureFailureTrace @paramUpdateAzureFailureTrace } } |