Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions .github/workflows/code-analysis-built-module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
branches: [ main ]
workflow_dispatch:

# cSpell: ignore potatoqualitee codeql SARIF
# cSpell: ignore codeql SARIF
jobs:
pssa:
name: PSScriptAnalyzer
Expand All @@ -29,11 +29,24 @@ jobs:
shell: powershell
run: |
dotnet-gitversion | ConvertFrom-Json
- name: Resolve dependencies
shell: powershell
run: |
Write-Information -MessageData 'Resolving dependencies.' -InformationAction 'Continue'
.\build.ps1 -ResolveDependency -Tasks 'noop'
# This is a workaround for the issue: https://github.com/PoshCode/ModuleBuilder/pull/136
- name: Patch ModuleBuilder
shell: powershell
run: |
Write-Information -MessageData 'Patching ModuleBuilder v3.1.7.' -InformationAction 'Continue'
.\build.ps1 -Tasks 'noop'
Install-PSResource -Name 'Viscalyx.Common' -Repository 'PSGallery' -TrustRepository -Quiet -Confirm:$false
Install-ModulePatch -Uri https://raw.githubusercontent.com/viscalyx/Viscalyx.Common/refs/heads/main/patches/ModuleBuilder_3.1.7_patch.json -Force
- name: Build Module
shell: powershell
run: |
Write-Information -MessageData 'Module is being built.' -InformationAction 'Continue'
.\build.ps1 -ResolveDependency -Tasks 'build'
.\build.ps1 -Tasks 'build'
- name: Run PSScriptAnalyzer
shell: powershell
run: |
Expand Down
19 changes: 16 additions & 3 deletions .github/workflows/code-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
branches: [ main ]
workflow_dispatch:

# cSpell: ignore potatoqualitee codeql SARIF
# cSpell: ignore codeql SARIF
jobs:
pssa:
name: PSScriptAnalyzer
Expand All @@ -29,11 +29,24 @@ jobs:
shell: powershell
run: |
dotnet-gitversion | ConvertFrom-Json
- name: Resolve dependencies
shell: powershell
run: |
Write-Information -MessageData 'Resolving dependencies.' -InformationAction 'Continue'
.\build.ps1 -ResolveDependency -Tasks 'noop'
# This is a workaround for the issue: https://github.com/PoshCode/ModuleBuilder/pull/136
- name: Patch ModuleBuilder
shell: powershell
run: |
Write-Information -MessageData 'Patching ModuleBuilder v3.1.7.' -InformationAction 'Continue'
.\build.ps1 -Tasks 'noop'
Install-PSResource -Name 'Viscalyx.Common' -Repository 'PSGallery' -TrustRepository -Quiet -Confirm:$false
Install-ModulePatch -Uri https://raw.githubusercontent.com/viscalyx/Viscalyx.Common/refs/heads/main/patches/ModuleBuilder_3.1.7_patch.json -Force
- name: Build Module
shell: powershell
run: |
Write-Information -MessageData 'Module is being built so that examples can be scanned.' -InformationAction 'Continue'
.\build.ps1 -ResolveDependency -Tasks 'build'
Write-Information -MessageData 'Module is being built.' -InformationAction 'Continue'
.\build.ps1 -Tasks 'build'
- name: Run PSScriptAnalyzer
shell: powershell
run: |
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Fixed workaround for the GitHub Actions to support building module in Windows
PowerShell.
- SqlServerDsc
- Fix localization tests.
- `SqlAudit`
- Fix localization strings in `Assert` method.
- `Save-SqlDscSqlServerMediaFile`
- Fix localizations strings that used wrong keys.
- `SqlConfiguration`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlDatabaseUser`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlMaxDop`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlMemory`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlReplication`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlRSSetup`
- Change the alias command to real command name, to pass HQRM tests.
- `SqlServiceAccount`
- Change the alias command to real command name, to pass HQRM tests.

## [17.0.0] - 2024-09-30

Expand Down
4 changes: 2 additions & 2 deletions source/Classes/020.SqlAudit.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -547,12 +547,12 @@ class SqlAudit : SqlResourceBase
# ReserveDiskSpace can only be used with MaximumFiles.
if ($properties.Keys -contains 'ReserveDiskSpace' -and $properties.Keys -notcontains 'MaximumFiles')
{
$errorMessage = $this.localizedData.BothFileSizePropertiesMustBeSet
$errorMessage = $this.localizedData.ReservDiskSpaceWithoutMaximumFiles

New-InvalidArgumentException -ArgumentName 'ReserveDiskSpace' -Message $errorMessage
}

# Test so that the path exist.
# Test so that the path exists.
if ($properties.Keys -contains 'Path' -and -not (Test-Path -Path $properties.Path))
{
$errorMessage = $this.localizedData.PathInvalid -f $properties.Path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ function Get-TargetResource
if (-not $option)
{
$errorMessage = $script:localizedData.ConfigurationOptionNotFound -f $OptionName
New-InvalidArgumentException -ArgumentName 'OptionName' -Message $errorMessage
New-ArgumentException -ArgumentName 'OptionName' -Message $errorMessage
}

Write-Verbose -Message (
Expand Down Expand Up @@ -157,7 +157,7 @@ function Set-TargetResource
if (-not $option)
{
$errorMessage = $script:localizedData.ConfigurationOptionNotFound -f $OptionName
New-InvalidArgumentException -ArgumentName 'OptionName' -Message $errorMessage
New-ArgumentException -ArgumentName 'OptionName' -Message $errorMessage
}

$option.ConfigValue = $OptionValue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -687,37 +687,37 @@ function Assert-Parameters
if ($UserType -ne 'Login' -and $PSBoundParameters.ContainsKey('LoginName'))
{
$errorMessage = $script:localizedData.LoginNameProvidedWithWrongUserType -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}

if ($UserType -ne 'Certificate' -and $PSBoundParameters.ContainsKey('CertificateName'))
{
$errorMessage = $script:localizedData.CertificateNameProvidedWithWrongUserType -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}

if ($UserType -ne 'AsymmetricKey' -and $PSBoundParameters.ContainsKey('AsymmetricKeyName'))
{
$errorMessage = $script:localizedData.AsymmetricKeyNameProvidedWithWrongUserType -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}

if ($UserType -eq 'Login' -and -not $PSBoundParameters.ContainsKey('LoginName'))
{
$errorMessage = $script:localizedData.LoginUserTypeWithoutLoginName -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}

if ($UserType -eq 'AsymmetricKey' -and -not $PSBoundParameters.ContainsKey('AsymmetricKeyName'))
{
$errorMessage = $script:localizedData.AsymmetricKeyUserTypeWithoutAsymmetricKeyName -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}

if ($UserType -eq 'Certificate' -and -not $PSBoundParameters.ContainsKey('CertificateName'))
{
$errorMessage = $script:localizedData.CertificateUserTypeWithoutCertificateName -f $UserType
New-InvalidArgumentException -ArgumentName 'Action' -Message $errorMessage
New-ArgumentException -ArgumentName 'Action' -Message $errorMessage
}
}

Expand Down
4 changes: 2 additions & 2 deletions source/DSCResources/DSC_SqlMaxDop/DSC_SqlMaxDop.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ function Set-TargetResource
if ($MaxDop)
{
$errorMessage = $script:localizedData.MaxDopParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxDop' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxDop' -Message $errorMessage
}

$targetMaxDop = Get-SqlDscDynamicMaxDop -SqlServerObject $sqlServerObject
Expand Down Expand Up @@ -302,7 +302,7 @@ function Test-TargetResource
if ($MaxDop)
{
$errorMessage = $script:localizedData.MaxDopParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxDop' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxDop' -Message $errorMessage
}

$MaxDop = Get-SqlDscDynamicMaxDop
Expand Down
20 changes: 10 additions & 10 deletions source/DSCResources/DSC_SqlMemory/DSC_SqlMemory.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -166,13 +166,13 @@ function Set-TargetResource
if ($MaxMemory)
{
$errorMessage = $script:localizedData.MaxMemoryParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
}

if ($MaxMemoryPercent)
{
$errorMessage = $script:localizedData.MaxMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
}

$MaxMemory = Get-SqlDscDynamicMaxMemory
Expand All @@ -186,7 +186,7 @@ function Set-TargetResource
if ($PSBoundParameters.ContainsKey('MaxMemory') -and -not $MaxMemory)
{
$errorMessage = $script:localizedData.MaxMemoryParamMustNotBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
}
}

Expand All @@ -195,7 +195,7 @@ function Set-TargetResource
if ($MaxMemoryPercent)
{
$errorMessage = $script:localizedData.MaxMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
}

$sqlServerObject.Configuration.MaxServerMemory.ConfigValue = $MaxMemory
Expand All @@ -220,7 +220,7 @@ function Set-TargetResource
if ($MinMemoryPercent)
{
$errorMessage = $script:localizedData.MinMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MinMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MinMemoryPercent' -Message $errorMessage
}

$sqlServerObject.Configuration.MinServerMemory.ConfigValue = $MinMemory
Expand Down Expand Up @@ -420,13 +420,13 @@ function Test-TargetResource
if ($MaxMemory)
{
$errorMessage = $script:localizedData.MaxMemoryParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
}

if ($MaxMemoryPercent)
{
$errorMessage = $script:localizedData.MaxMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
}

$MaxMemory = Get-SqlDscDynamicMaxMemory
Expand All @@ -440,7 +440,7 @@ function Test-TargetResource
if ($PSBoundParameters.ContainsKey('MaxMemory') -and -not $MaxMemory)
{
$errorMessage = $script:localizedData.MaxMemoryParamMustNotBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemory' -Message $errorMessage
}
}

Expand All @@ -449,7 +449,7 @@ function Test-TargetResource
if ($MaxMemory -and $MaxMemoryPercent)
{
$errorMessage = $script:localizedData.MaxMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MaxMemoryPercent' -Message $errorMessage
}

if ($MaxMemoryPercent)
Expand All @@ -472,7 +472,7 @@ function Test-TargetResource
if ($MinMemory -and $MinMemoryPercent)
{
$errorMessage = $script:localizedData.MinMemoryPercentParamMustBeNull
New-InvalidArgumentException -ArgumentName 'MinMemoryPercent' -Message $errorMessage
New-ArgumentException -ArgumentName 'MinMemoryPercent' -Message $errorMessage
}

if ($MinMemoryPercent)
Expand Down
6 changes: 3 additions & 3 deletions source/DSCResources/DSC_SqlRSSetup/DSC_SqlRSSetup.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -287,20 +287,20 @@ function Set-TargetResource
if ($Action -eq 'Install' -and $PSBoundParameters.ContainsKey('Edition') -and $PSBoundParameters.ContainsKey('ProductKey'))
{
$errorMessage = $script:localizedData.EditionInvalidParameter
New-InvalidArgumentException -ArgumentName 'Edition, ProductKey' -Message $errorMessage
New-ArgumentException -ArgumentName 'Edition, ProductKey' -Message $errorMessage
}

# Must either choose ProductKey or Edition, not none.
if ($Action -eq 'Install' -and -not $PSBoundParameters.ContainsKey('Edition') -and -not $PSBoundParameters.ContainsKey('ProductKey'))
{
$errorMessage = $script:localizedData.EditionMissingParameter
New-InvalidArgumentException -ArgumentName 'Edition, ProductKey' -Message $errorMessage
New-ArgumentException -ArgumentName 'Edition, ProductKey' -Message $errorMessage
}

if (-not (Test-Path -Path $SourcePath) -or (Get-Item -Path $SourcePath).Extension -ne '.exe')
{
$errorMessage = $script:localizedData.SourcePathNotFound -f $SourcePath
New-InvalidArgumentException -ArgumentName 'SourcePath' -Message $errorMessage
New-ArgumentException -ArgumentName 'SourcePath' -Message $errorMessage
}

$InstanceName = $InstanceName.ToUpper()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ function Set-TargetResource
if (($DistributorMode -eq 'Remote') -and (-not $RemoteDistributor))
{
$errorMessage = $script:localizedData.NoRemoteDistributor
New-InvalidArgumentException -ArgumentName 'RemoteDistributor' -Message $errorMessage
New-ArgumentException -ArgumentName 'RemoteDistributor' -Message $errorMessage
}

$sqlMajorVersion = Get-SqlInstanceMajorVersion -InstanceName $InstanceName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ function Get-ServiceObject
if (($ServiceType -eq 'IntegrationServices') -and ([String]::IsNullOrEmpty($VersionNumber)))
{
$errorMessage = $script:localizedData.MissingParameter -f $ServiceType
New-InvalidArgumentException -Message $errorMessage -ArgumentName 'VersionNumber'
New-ArgumentException -Message $errorMessage -ArgumentName 'VersionNumber'
}

# Load the SMO libraries
Expand Down Expand Up @@ -578,7 +578,7 @@ function Get-SqlServiceName
else
{
$errorMessage = $script:localizedData.UnknownServiceType -f $ServiceType
New-InvalidArgumentException -Message $errorMessage -ArgumentName 'ServiceType'
New-ArgumentException -Message $errorMessage -ArgumentName 'ServiceType'
}

if ([System.String]::IsNullOrEmpty($serviceNamingScheme))
Expand Down
8 changes: 4 additions & 4 deletions source/Public/Save-SqlDscSqlServerMediaFile.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ function Save-SqlDscSqlServerMediaFile
if ((Test-Path -Path $destinationFilePath))
{
$verboseDescriptionMessage = $script:localizedData.SqlServerMediaFile_Save_ShouldProcessVerboseDescription -f $destinationFilePath
$verboseWarningMessage = $script:localizedData.qlServerMedia_Save_ShouldProcessVerboseWarning -f $destinationFilePath
$captionMessage = $script:localizedData.qlServerMedia_Save_ShouldProcessCaption
$verboseWarningMessage = $script:localizedData.SqlServerMediaFile_Save_ShouldProcessVerboseWarning -f $destinationFilePath
$captionMessage = $script:localizedData.SqlServerMediaFile_Save_ShouldProcessCaption

if ($PSCmdlet.ShouldProcess($verboseDescriptionMessage, $verboseWarningMessage, $captionMessage))
{
Expand All @@ -125,8 +125,6 @@ function Save-SqlDscSqlServerMediaFile
}
}

Write-Verbose -Message ($script:localizedData.SqlServerMediaFile_Save_ShouldProcessVerboseDescription -f $destinationFilePath)

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

$isExecutable = $false
Expand Down Expand Up @@ -156,6 +154,8 @@ function Save-SqlDscSqlServerMediaFile
$ProgressPreference = 'SilentlyContinue'
}

Write-Verbose -Message ($script:localizedData.SqlServerMediaFile_Save_DownloadingInformation -f $Url)

# Download the URL content.
Invoke-WebRequest -Uri $Url -OutFile $downloadedFilePath | Out-Null

Expand Down
Loading
Loading