Azure / Azure/autorest.powershell
AutoRest crashes on ./build-module.ps1 when you use a filter
- Dominant language
- C#
- Stars
- 123
- Forks
- 99
- PR merge metrics
- No merged PRs in 30d
Description
AutoRest crashes on ./build-module.ps1 when you use a `filter` in the `custom` folder.
Code in my custom `New-AzConnectedDevice.ps1`:
```pwsh
filter HandleShowResult {
param (
[Parameter(ValueFromPipeline)]
[string]
[ValidateNotNullOrEmpty]
$ShowResult,
[Parameter()]
[ValidateNotNullOrEmpty]
[string]
$ResourceGroupName,
[Parameter()]
[ValidateNotNullOrEmpty]
[string]
$SubscriptionId
)
# Get name of machine registered
$selectStrResult = $ShowResult | Select-String -Pattern "^Resource Name\s+:(?.*)$"
$Name = $selectStrResult.Matches.Groups |
Where-Object Name -EQ resourceName |
Select-Object -ExpandProperty Value
# Return the ConnectedMachine object.
Get-AzConnectedMachine -Name $Name -ResourceGroupName $ResourceGroupName -SubscriptionId $SubscriptionId
}
```
Check out the exception:
```
PS C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine> .\build-module.ps1
Creating isolated process...
Cleaning build folders...
Compiling module...
Creating exports and docs...
$NullReferenceException/ at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.PsProxyTypeExtensions.ToAttributes(Variant variant) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 477
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.Variant..ctor(String cmdletName, String variantName, CommandInfo info, CommandMetadata metadata, Boolean hasParameterSets, PsHelpInfo helpInfo) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 152
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.PsProxyTypeExtensions.<>c__DisplayClass2_0.b__0(CommandParameterSetInfo ps) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 458
at System.Linq.Enumerable.SelectIListIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.PsProxyTypeExtensions.ToVariants(CommandInfo info, PsHelpInfo helpInfo) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 455
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.PsProxyTypeExtensions.ToVariants(CommandInfo info, PSObject helpInfo) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 463
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.PsProxyTypeExtensions.ToVariants(CmdletAndHelpInfo info) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Models\PsProxyTypes.cs:line 461
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.ExportProxyCmdlet.<>c.b__36_0(CmdletAndHelpInfo ci) in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Cmdlets\ExportProxyCmdlet.cs:line 58
at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Microsoft.Azure.PowerShell.Cmdlets.ConnectedMachine.Runtime.PowerShell.ExportProxyCmdlet.ProcessRecord() in C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\generated\runtime\BuildTime\Cmdlets\ExportProxyCmdlet.cs:line 58
Export-ProxyCmdlet: C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine\build-module.ps1:134
Line |
134 | Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Object reference not set to an instance of an object.
PS C:\Users\tyleonha\Code\azure-powershell\src\ConnectedMachine>
```
Once I change `filter` to `function`, it works.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.