Migration/openshift/openshiftUtil.psm1
Import-Module -Name @(Join-Path $PSScriptRoot .. | Join-Path -ChildPath .. | Join-Path -ChildPath Common | Join-Path -ChildPath Wrappers | Join-Path -ChildPath Wrappers) function Read-RMInstanceType { param ( [System.Object] $TargetInventory ) while ($true) { $ReadValue = Read-RMString -UserMessage "Enter instance type, e.g. cx1.large" ` -ParameterName "Instance type" -DefaultValue "None" -IsRequired $false $InstanceTypeArray = $TargetInventory.attributes.openshift.instance_types.name if ("" -ne $ReadValue -and $InstanceTypeArray -notcontains $ReadValue) { Write-RMError -Message "Instance type '$ReadValue' does not exist." continue } return $ReadValue } } function Read-RMRAMOrCPU { param ( [int] $MinValue, [string] $ErrorMessage, [string] $UserMessage, [string] $DefaultValue, [string] $ParameterName ) while ($true) { $ReadValue = Read-RMInt -UserMessage $UserMessage -DefaultValue $DefaultValue ` -ParameterName $ParameterName -IsRequired $false if ($ReadValue -lt $MinValue) { Write-RMError -Message $ErrorMessage continue } return $ReadValue } } function Read-RMTargetVMName { param ( [System.Object] $DefaultValue ) while($true) { $ReadValue = Read-RMString -UserMessage "Enter target VM Name" -DefaultValue $DefaultValue ` -ParameterName "Target VM Name" -IsRequired $false $IsValidTargetVMName = Confirm-RMTargetVMName -TargetVMName $ReadValue if (!$IsValidTargetVMName) { Write-RMError -Message "Target VM Name '$ReadValue' must contain lowercase alphanumeric characters and may contain hyphens." continue } return $ReadValue } } function Confirm-RMTargetVMName{ param( [string] $TargetVMName ) $Regex = "^(?-i)[a-z0-9]([a-z0-9\-]{0,251}[a-z0-9])?$" $IsValidTargetName = $true if ($TargetVMName -notmatch $Regex) { $IsValidTargetName = $false } return $IsValidTargetName } |