Skip to content

Commit 17ff3d9

Browse files
feat: Add ConvertTo-YamlIntArray function
1 parent 1f290e2 commit 17ff3d9

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

demo/.guided-setup.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<#PSScriptInfo
2-
.VERSION 1.1.0
2+
.VERSION 1.2.0
33
.GUID 968cc756-ddef-4289-844e-4341ef350f48
44
.AUTHOR Guided Setup Author
55
.DESCRIPTION Establishes setup graph and starts guided setup
66
#>
77

8-
using module @{ModuleName='guided-setup'; RequiredVersion='1.8.0' }
8+
using module @{ModuleName='guided-setup'; RequiredVersion='1.9.0' }
99

1010
$ErrorActionPreference = 'Stop'
1111
$VerbosePreference = 'Continue'

demo/.install-guided-setup-module.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#PSScriptInfo
2-
.VERSION 1.1.0
2+
.VERSION 1.2.0
33
.GUID f71af2c9-8015-4f6a-8aab-e4080b4ff428
44
.AUTHOR Guided Setup Author
55
.DESCRIPTION Conditionally installs guided-setup module
@@ -15,7 +15,7 @@ function Test-AvailableModule($name, $version) {
1515
}
1616

1717
$guidedSetupModuleName = 'guided-setup'
18-
$guidedSetupRequiredVersion = '1.8.0' # must match constant in using-module statements
18+
$guidedSetupRequiredVersion = '1.9.0' # must match constant in using-module statements
1919

2020
$verbosePref = $global:VerbosePreference
2121
try {

demo/test/guided-setup-tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using module @{ModuleName='guided-setup'; RequiredVersion='1.8.0' }
1+
using module @{ModuleName='guided-setup'; RequiredVersion='1.9.0' }
22

33
Import-Module 'pester' -ErrorAction SilentlyContinue
44
if (-not $?) {

functions/utils.ps1

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<#PSScriptInfo
2-
.VERSION 1.0.0
2+
.VERSION 1.1.0
33
.GUID 6d09dd8f-2f19-4e91-9c1a-dfd848e50884
44
.AUTHOR Code Dx
55
.DESCRIPTION Includes utility-related helpers.
@@ -187,6 +187,15 @@ function ConvertTo-YamlStringArray([string[]] $items) {
187187
'[' + "'{0}'" -f ([string]::Join("','", $items)) + ']'
188188
}
189189

190+
function ConvertTo-YamlIntArray([int[]] $items) {
191+
192+
if ($null -eq $items) {
193+
return '[]'
194+
}
195+
196+
'[' + "{0}" -f ([string]::Join(",", $items)) + ']'
197+
}
198+
190199
function ConvertTo-PsonStringArray([string[]] $items) {
191200

192201
if ($null -eq $items) {

guided-setup.psd1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'guided-setup'
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.8.0'
15+
ModuleVersion = '1.9.0'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = @('Core')
@@ -74,7 +74,7 @@ PowerShellVersion = '7.0.0'
7474
# $files = (Get-ChildItem -LiteralPath './functions' -Recurse -Include '*.ps1','*.psm1') + (Get-ChildItem './guided-setup.psm1')
7575
# [string]::join(',',($files | ForEach-Object { Select-String -input $_ -pattern '^function\s([^(]+)(?:\s|\()' -allmatches | ForEach-Object { "'$($_.matches.groups[1].value)'" } } | Sort-Object))
7676
#
77-
FunctionsToExport = @('Add-HelmRepo','Add-KeystoreAlias','Add-ResourceLabel','Add-Step','Add-StepTransition','Add-StepTransitions','Clear-HostStep','Convert-Base64','ConvertTo-Map','ConvertTo-PsonMap','ConvertTo-PsonStringArray','ConvertTo-YamlMap','ConvertTo-YamlMap','ConvertTo-YamlStringArray','Copy-DBBackupFiles','Copy-K8sItem','Edit-ResourceJsonPath','Edit-ResourceStrategicPatch','Format-KeyValueAssignment','Format-NodeSelector','Format-PodTolerationNoScheduleNoExecute','Format-ResourceLimitRequest','Get-AppCommandPath','Get-CertificateFromCsr','Get-CommonName','Get-CsrSignerNameLegacyUnknown','Get-DatabaseUrl','Get-DockerImageParts','Get-HelmChartFullname','Get-HelmReleaseAppVersion','Get-HelmValues','Get-HelmVersionMajorMinor','Get-IPv4AddressList','Get-KeystorePasswordEscaped','Get-KeytoolJavaSettings','Get-KeytoolJavaSpec','Get-KubectlClientVersion','Get-KubectlContext','Get-KubectlContexts','Get-KubectlDryRunParam','Get-KubectlServerSemanticVersion','Get-KubectlServerVersion','Get-KubectlServerVersionMajor','Get-KubectlServerVersionMinor','Get-KubectlVersion','Get-KubernetesEndpointsPort','Get-KubernetesPort','Get-MasterFilePosAfterReset','Get-ResourceDirectoryPath','Get-SecretFieldValue','Get-SemanticVersionComponents','Get-ServiceAccountName','Get-TrustedCaCertAlias','Get-VirtualCpuCountFromReservation','Import-TrustedCaCert','Import-TrustedCaCerts','Invoke-GitClone','Invoke-GuidedSetup','Invoke-HelmCommand','New-Certificate','New-CertificateConfigMap','New-CertificateConfigMapResource','New-CertificateSecret','New-CertificateSecretResource','New-ConfigMap','New-ConfigMapResource','New-Csr','New-CsrApproval','New-CsrResource','New-Database','New-DockerImagePullSecretResource','New-GenericSecret','New-GenericSecretResource','New-GitRepository','New-HelmCommand','New-HelmControllerChartSource','New-HelmControllerConfigMapValues','New-HelmControllerGitSource','New-HelmOperatorChartSource','New-HelmOperatorConfigMapValues','New-HelmOperatorGitSource','New-HelmRelease','New-HelmRepository','New-ImagePullSecret','New-Namespace','New-NamespacedResource','New-NamespacedResourceFromYaml','New-NamespaceResource','New-PriorityClass','New-PriorityClassResource','New-ResourceFile','New-SealedSecret','New-SealedSecretFile','New-SecretResourceFile','Read-HostChoice','Read-HostEnter','Read-HostSecureText','Read-HostText','Remove-ConfigMap','Remove-CsrResource','Remove-Database','Remove-KeystoreAlias','Remove-KubernetesJob','Remove-KubernetesPvc','Remove-NamespacedResource','Remove-Pod','Remove-PriorityClass','Remove-ResourceLabel','Remove-Secret','Remove-VeleroBackupSchedule','Set-CustomResourceDefinitionResource','Set-DeploymentReplicas','Set-GuidedSetupModulePreferences','Set-K8sResource','Set-KeystorePassword','Set-KubectlContext','Set-KubectlFromFilePath','Set-NamespaceLabel','Set-NonNamespacedResource','Set-Replicas','Set-ResourceDirectory','Set-StatefulSetReplicas','Split-DockerName','Split-DockerRepo','Start-SlaveDB','Stop-SlaveDB','Test-CertificateSigningRequestV1Beta1','Test-CertificateSigningRequestV1Beta1','Test-ClusterInfo','Test-ConfigMap','Test-CsrResource','Test-CurrentKubeContext','Test-Database','Test-Deployment','Test-DeploymentLabel','Test-EmailAddress','Test-HelmRelease','Test-IsBlacklisted','Test-IsCore','Test-IsElevated','Test-IsValidParameterValue','Test-KeystorePassword','Test-KeyToolCertificate','Test-KubectlUsesDryRunBool {','Test-KubernetesJob','Test-MinPsMajorVersion','Test-Namespace','Test-NamespacedResource','Test-NonNamespacedResource','Test-Pod','Test-PriorityClass','Test-ResourceApiVersion','Test-Secret','Test-Service','Test-SetupKubernetesVersion','Test-StatefulSet','Test-VeleroBackupSchedule','Wait-AllRunningPods','Wait-Deployment','Wait-JobSuccess','Wait-ReplicasReady','Wait-RunningPod','Wait-StatefulSet','Write-ErrorMessageAndExit','Write-HostSection','Write-ImportantNote','Write-StepGraph')
77+
FunctionsToExport = @('Add-HelmRepo','Add-KeystoreAlias','Add-ResourceLabel','Add-Step','Add-StepTransition','Add-StepTransitions','Clear-HostStep','Convert-Base64','ConvertTo-Map','ConvertTo-PsonMap','ConvertTo-PsonStringArray','ConvertTo-YamlIntArray','ConvertTo-YamlMap','ConvertTo-YamlMap','ConvertTo-YamlStringArray','Copy-DBBackupFiles','Copy-K8sItem','Edit-ResourceJsonPath','Edit-ResourceStrategicPatch','Format-KeyValueAssignment','Format-NodeSelector','Format-PodTolerationNoScheduleNoExecute','Format-ResourceLimitRequest','Get-AppCommandPath','Get-CertificateFromCsr','Get-CommonName','Get-CsrSignerNameLegacyUnknown','Get-DatabaseUrl','Get-DockerImageParts','Get-HelmChartFullname','Get-HelmReleaseAppVersion','Get-HelmValues','Get-HelmVersionMajorMinor','Get-IPv4AddressList','Get-KeystorePasswordEscaped','Get-KeytoolJavaSettings','Get-KeytoolJavaSpec','Get-KubectlClientVersion','Get-KubectlContext','Get-KubectlContexts','Get-KubectlDryRunParam','Get-KubectlServerSemanticVersion','Get-KubectlServerVersion','Get-KubectlServerVersionMajor','Get-KubectlServerVersionMinor','Get-KubectlVersion','Get-KubernetesEndpointsPort','Get-KubernetesPort','Get-MasterFilePosAfterReset','Get-ResourceDirectoryPath','Get-SecretFieldValue','Get-SemanticVersionComponents','Get-ServiceAccountName','Get-TrustedCaCertAlias','Get-VirtualCpuCountFromReservation','Import-TrustedCaCert','Import-TrustedCaCerts','Invoke-GitClone','Invoke-GuidedSetup','Invoke-HelmCommand','New-Certificate','New-CertificateConfigMap','New-CertificateConfigMapResource','New-CertificateSecret','New-CertificateSecretResource','New-ConfigMap','New-ConfigMapResource','New-Csr','New-CsrApproval','New-CsrResource','New-Database','New-DockerImagePullSecretResource','New-GenericSecret','New-GenericSecretResource','New-GitRepository','New-HelmCommand','New-HelmControllerChartSource','New-HelmControllerConfigMapValues','New-HelmControllerGitSource','New-HelmOperatorChartSource','New-HelmOperatorConfigMapValues','New-HelmOperatorGitSource','New-HelmRelease','New-HelmRepository','New-ImagePullSecret','New-Namespace','New-NamespacedResource','New-NamespacedResourceFromYaml','New-NamespaceResource','New-PriorityClass','New-PriorityClassResource','New-ResourceFile','New-SealedSecret','New-SealedSecretFile','New-SecretResourceFile','Read-HostChoice','Read-HostEnter','Read-HostSecureText','Read-HostText','Remove-ConfigMap','Remove-CsrResource','Remove-Database','Remove-KeystoreAlias','Remove-KubernetesJob','Remove-KubernetesPvc','Remove-NamespacedResource','Remove-Pod','Remove-PriorityClass','Remove-ResourceLabel','Remove-Secret','Remove-VeleroBackupSchedule','Set-CustomResourceDefinitionResource','Set-DeploymentReplicas','Set-GuidedSetupModulePreferences','Set-K8sResource','Set-KeystorePassword','Set-KubectlContext','Set-KubectlFromFilePath','Set-NamespaceLabel','Set-NonNamespacedResource','Set-Replicas','Set-ResourceDirectory','Set-StatefulSetReplicas','Split-DockerName','Split-DockerRepo','Start-SlaveDB','Stop-SlaveDB','Test-CertificateSigningRequestV1Beta1','Test-CertificateSigningRequestV1Beta1','Test-ClusterInfo','Test-ConfigMap','Test-CsrResource','Test-CurrentKubeContext','Test-Database','Test-Deployment','Test-DeploymentLabel','Test-EmailAddress','Test-HelmRelease','Test-IsBlacklisted','Test-IsCore','Test-IsElevated','Test-IsValidParameterValue','Test-KeystorePassword','Test-KeyToolCertificate','Test-KubectlUsesDryRunBool {','Test-KubernetesJob','Test-MinPsMajorVersion','Test-Namespace','Test-NamespacedResource','Test-NonNamespacedResource','Test-Pod','Test-PriorityClass','Test-ResourceApiVersion','Test-Secret','Test-Service','Test-SetupKubernetesVersion','Test-StatefulSet','Test-VeleroBackupSchedule','Wait-AllRunningPods','Wait-Deployment','Wait-JobSuccess','Wait-ReplicasReady','Wait-RunningPod','Wait-StatefulSet','Write-ErrorMessageAndExit','Write-HostSection','Write-ImportantNote','Write-StepGraph')
7878

7979
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
8080
CmdletsToExport = @()

0 commit comments

Comments
 (0)