Private/Stop-AzureInstance.ps1
|
function Stop-AzureInstance { [Diagnostics.CodeAnalysis.SuppressMessageAttribute( 'PSUseShouldProcessForStateChangingFunctions', '', Justification = 'This internal helper is invoked only by Stop-CloudInstance, which implements ShouldProcess.' )] [CmdletBinding()] [OutputType([AzureCloudRecord])] param( [Parameter(Mandatory)] [string]$Name, [Parameter(Mandatory)] [string]$ResourceGroup ) Assert-CommandAvailable ` -CommandName 'Stop-AzVM' ` -InstallHint "Install the Az.Compute module with: Install-Module Az.Compute -Scope CurrentUser" $null = Stop-AzVM -ResourceGroupName $ResourceGroup -Name $Name -Force -ErrorAction Stop $record = [AzureCloudRecord]::new() $record.Kind = 'Instance' $record.Provider = [CloudProvider]::Azure.ToString() $record.Name = $Name $record.Status = 'Stopping' $record.ResourceGroup = $ResourceGroup $record.Metadata = @{ ResourceGroup = $ResourceGroup } return $record } |