Recipes/ToolShim/Recipe.psd1
|
@{ Name = 'ToolShim' Version = '1' Description = 'Small launcher for an NSP module-hosted tool: elevates, installs the modules it needs from the PowerShell Gallery (or loads them from -ModuleRoot), hands embedded seed answers to the tool once and blanks them from the file, then starts the tool.' Template = 'Template.ps1.template' # The shim contract, deliberately tiny so an old shim keeps working with newer modules: # make sure <ModuleName> >= <ModuleMinimumVersion> (plus <Modules>) is present, then # <EntryFunction> -SeedAnswersJson <json> -SeedOnly (only when answers are embedded) # <EntryFunction> Parameters = @( @{ Name = 'ToolName'; Type = 'String'; Required = $true; Pattern = '^[A-Za-z0-9][A-Za-z0-9 ._()-]{0,60}$' } @{ Name = 'ModuleName'; Type = 'String'; Required = $true; Pattern = '^[A-Za-z][A-Za-z0-9._-]{0,100}$' } @{ Name = 'ModuleMinimumVersion'; Type = 'Version'; Required = $true } @{ Name = 'EntryFunction'; Type = 'String'; Required = $true; Pattern = '^[A-Za-z]+-[A-Za-z0-9]+$' } @{ Name = 'Modules'; Type = 'Json'; Required = $true } @{ Name = 'SeedAnswers'; Type = 'Json'; Required = $false; Default = '' } @{ Name = 'Company'; Type = 'Text'; Required = $false; Default = '(not set)' } @{ Name = 'GeneratedBy'; Type = 'Text'; Required = $false; Default = 'New-NSPToolShim' } @{ Name = 'BootstrapMinimumVersion'; Type = 'Version'; Required = $false; Default = '0.1.3' } ) } |