using System.Management.Automation; namespace Noz.PowerShell.Cmdlets; [Cmdlet(VerbsCommon.Get, "NozTemplate")] [OutputType(typeof(NozTemplate))] public sealed class GetNozTemplateCmdlet : NozCmdletBase { [Parameter(Position = 0)] public string? Name { get; set; } protected override void ProcessRecord() { var templates = Run(Api.GetTemplatesAsync()); var filtered = Name is null ? templates : templates.Where(t => t.Name.Contains(Name, StringComparison.OrdinalIgnoreCase)).ToList(); foreach (var t in filtered.OrderBy(t => t.Name)) WriteObject(new NozTemplate { Name = t.Name, Description = t.Description }); } }