Lib/types.ps1

<#
    .SYNOPSIS
    NAF Setup Types
 
    .DESCRIPTION
    NAF Setup Types
 
    .NOTES
    Author : hillesheim@n-dimensions.de
    Version : 2.11
    DateLastChanged : 2024-11-07
#>
 

Write-Host "Load nested module 'types' ... "; 

#region begin DECLARATION
    
    #region begin TYPES
    enum JobSteps_GitSoftware {
        None 
        OpenScriptEditor 
        InstallChoco
        ChocoUpgradeAll 
        InstallNotepadPlusplus 
        InstallGit 
        InstallGithubDesktop
        InstallGithubClient
        InstallPowerShell7
        InstallVsCode
        Restart 
        Abort     
    }
    $defaultJobSteps_GitSoftware = @(8, 9); 

    enum JobSteps_GetRepo {
        None 
        OpenScriptEditor 
        SetGitConfig 
        GhSetDeviceAuth
        GhCloneRepository
        Abort     
    }
    $defaultJobSteps_GetRepo = @(1); 

    enum JobSteps_GetArtifact {
        None 
        OpenScriptEditor 
        DownloadArtifact 
        Abort     
    }
    $defaultJobSteps_GetArtifact = @(2); 

    enum FileOrFolderPatternType {
        NupkgFile; 
        NupkgFolder; 
        NugetConfigFile; 
    }

    class NugetPackage {
        [String] $Name; 
        [String] $BaseName; 
        [String] $Description; 
        [String] $DownloadFolder; 
        [String] $ArtifactFeedId;         
        [String] $ArtifactFeedUrl; 
    }

    class NugetSettings { 
        [String] $NugetExeDownloadUrl; 
        [String] $NuGetSourceName; 
        [String] $NugetProgramFolder; 
        [String] $NugetPackagesInstallFolder; 
        # [NugetPackage[]] $NugetPackages = @();
        # [Boolean] $RemoveExistingSource = $false;
        # [Boolean] $RemoveExistingNuspec = $false;
    }

    
# "https://pkgs.dev.azure.com/n-dimensions-dev/NAF/_packaging/NdimensionsAutomationModules/nuget/v3/index.json"
    class ArtifactSettings {
        [String] $DevopsUrl; # https://dev.azure.com
        [String] $OrganizationName; # n-dimensions-dev
        [String] $ProjectName; # NAF
        [String] $CredProviderInstallUrl; 
    }
       
    #endregion

#endregion

# Write-Host "Load finished"