Lib/types.ps1

<#
    .SYNOPSIS
    NAF Setup Types
 
    .DESCRIPTION
    NAF Setup Types
 
    .NOTES
    Author : hillesheim@n-dimensions.de
    Version : 2.9
    DateLastChanged : 2024-01-06
#>
 

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

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

    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 NugetPackage0 {
# [String] $Name;
# [String] $BaseName;
# [String] $Id;
# [String] $Version = "1.0.0";
# [String] $Description;
# [String] $SourceRootFolder;
# [String] $NuspecSrcAttribute;
# [Boolean] $ScheduledForPackaging = $False;
# [Boolean] $ScheduledForUpload = $False;
# [DateTime] $LastChecked;
# [String] $DownloadFolder;
# [String] $ArtifactFeedName;
# [NugetSource[]] $NugetSources = @();
# }
    

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

# class NugetSettings0 {
# [String] $NugetExeDownloadUrl;
# [String] $NugetSourceName;
# [String] $NugetProgramFolder;
# [String] $NugetPackagesInstallFolder;
# [String] $NugetWorkingDirRootfolder;
# [String] $NugetWorkingDirUploadfolder;
# [Int] $RetainedItems
# }
    
    
# class ArtifactSettings {
# [String] $AzArtifactFeedUrl;
# [String] $AzArtifactPsScriptUrl;
# [String] $AzArtifactUserName;
# [String] $AzApiKey;
# [String] $AzArtifactUserPassword;
# }
    
# "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"