SqlServerDsc.psd1

@{
    # Script module or binary module file associated with this manifest.
    RootModule           = 'SqlServerDsc.psm1'

    # Version number of this module.
    ModuleVersion        = '17.3.0'

    # ID used to uniquely identify this module
    GUID                 = '693ee082-ed36-45a7-b490-88b07c86b42f'

    # Author of this module
    Author               = 'DSC Community'

    # Company or vendor of this module
    CompanyName          = 'DSC Community'

    # Copyright statement for this module
    Copyright            = 'Copyright the DSC Community contributors. All rights reserved.'

    # Description of the functionality provided by this module
    Description          = 'This module contains commands and DSC resources for deployment and configuration of Microsoft SQL Server, SQL Server Reporting Services and Power BI Report Server.'

    # Minimum version of the Windows PowerShell engine required by this module
    PowerShellVersion    = '5.0'

    # Minimum version of the common language runtime (CLR) required by this module
    CLRVersion           = '4.0'

    # Functions to export from this module
    FunctionsToExport    = @('Add-SqlDscNode','Add-SqlDscTraceFlag','Assert-SqlDscAgentOperator','Assert-SqlDscLogin','Complete-SqlDscFailoverCluster','Complete-SqlDscImage','Connect-SqlDscDatabaseEngine','ConvertFrom-SqlDscDatabasePermission','ConvertFrom-SqlDscServerPermission','ConvertTo-SqlDscDatabasePermission','ConvertTo-SqlDscEditionName','ConvertTo-SqlDscServerPermission','Deny-SqlDscServerPermission','Disable-SqlDscAgentOperator','Disable-SqlDscAudit','Disable-SqlDscLogin','Disconnect-SqlDscDatabaseEngine','Enable-SqlDscAgentOperator','Enable-SqlDscAudit','Enable-SqlDscLogin','Get-SqlDscAgentAlert','Get-SqlDscAgentOperator','Get-SqlDscAudit','Get-SqlDscConfigurationOption','Get-SqlDscDatabase','Get-SqlDscDatabasePermission','Get-SqlDscInstalledInstance','Get-SqlDscLogin','Get-SqlDscManagedComputer','Get-SqlDscManagedComputerInstance','Get-SqlDscManagedComputerService','Get-SqlDscPreferredModule','Get-SqlDscRole','Get-SqlDscRSSetupConfiguration','Get-SqlDscServerPermission','Get-SqlDscServerProtocol','Get-SqlDscServerProtocolName','Get-SqlDscStartupParameter','Get-SqlDscTraceFlag','Grant-SqlDscServerPermission','Import-SqlDscPreferredModule','Initialize-SqlDscRebuildDatabase','Install-SqlDscBIReportServer','Install-SqlDscReportingService','Install-SqlDscServer','Invoke-SqlDscQuery','New-SqlDscAgentAlert','New-SqlDscAgentOperator','New-SqlDscAudit','New-SqlDscDatabase','New-SqlDscLogin','New-SqlDscRole','Remove-SqlDscAgentAlert','Remove-SqlDscAgentOperator','Remove-SqlDscAudit','Remove-SqlDscDatabase','Remove-SqlDscLogin','Remove-SqlDscNode','Remove-SqlDscRole','Remove-SqlDscTraceFlag','Repair-SqlDscBIReportServer','Repair-SqlDscReportingService','Repair-SqlDscServer','Revoke-SqlDscServerPermission','Save-SqlDscSqlServerMediaFile','Set-SqlDscAgentAlert','Set-SqlDscAgentOperator','Set-SqlDscAudit','Set-SqlDscConfigurationOption','Set-SqlDscDatabase','Set-SqlDscDatabaseDefault','Set-SqlDscDatabasePermission','Set-SqlDscServerPermission','Set-SqlDscStartupParameter','Set-SqlDscTraceFlag','Test-SqlDscAgentAlertProperty','Test-SqlDscConfigurationOption','Test-SqlDscDatabase','Test-SqlDscIsAgentAlert','Test-SqlDscIsAgentOperator','Test-SqlDscIsDatabasePrincipal','Test-SqlDscIsLogin','Test-SqlDscIsLoginEnabled','Test-SqlDscIsRole','Test-SqlDscIsSupportedFeature','Test-SqlDscRSInstalled','Test-SqlDscServerPermission','Uninstall-SqlDscBIReportServer','Uninstall-SqlDscReportingService','Uninstall-SqlDscServer')

    # Cmdlets to export from this module
    # Use wildcard to avoid PSDesiredStateConfiguration 2.0.7 filtering class-based DSC resources (see #2109).
    CmdletsToExport      = '*'

    # Variables to export from this module
    VariablesToExport    = @()

    # Aliases to export from this module
    AliasesToExport      = 'Test-SqlDscAgentAlert'

    DscResourcesToExport = @('SqlAgentAlert','SqlAudit','SqlDatabasePermission','SqlPermission','SqlRSSetup','SqlAG','SqlAGDatabase','SqlAgentFailsafe','SqlAgentOperator','SqlAGListener','SqlAGReplica','SqlAlias','SqlAlwaysOnService','SqlConfiguration','SqlDatabase','SqlDatabaseDefaultLocation','SqlDatabaseMail','SqlDatabaseObjectPermission','SqlDatabaseRole','SqlDatabaseUser','SqlEndpoint','SqlEndpointPermission','SqlLogin','SqlMaxDop','SqlMemory','SqlProtocol','SqlProtocolTcpIp','SqlReplication','SqlRole','SqlRS','SqlScript','SqlScriptQuery','SqlSecureConnection','SqlServiceAccount','SqlSetup','SqlTraceFlag','SqlWaitForAG','SqlWindowsFirewall')

    RequiredAssemblies   = @()

    # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
    PrivateData          = @{

        PSData = @{
            # Set to a prerelease string value if the release should be a prerelease.
            Prerelease   = 'preview0010'

            # Tags applied to this module. These help with module discovery in online galleries.
            Tags         = @('DesiredStateConfiguration', 'DSC', 'DSCResourceKit', 'DSCResource', 'SqlServer', 'PowerBI', 'ReportingServices', 'ReportServer')

            # A URL to the license for this module.
            LicenseUri   = 'https://github.com/dsccommunity/SqlServerDsc/blob/main/LICENSE'

            # A URL to the main website for this project.
            ProjectUri   = 'https://github.com/dsccommunity/SqlServerDsc'

            # A URL to an icon representing this module.
            IconUri      = 'https://dsccommunity.org/images/DSC_Logo_300p.png'

            # ReleaseNotes of this module
            ReleaseNotes = '## [17.3.0-preview0010] - 2025-10-20

### Added

- Added script `Remove-SqlServerFromCIImage.ps1` to remove pre-installed SQL Server
  components from Microsoft Hosted agents that conflict with PrepareImage operations.
  The script is now run automatically in the CI pipeline before PrepareImage tests
  to resolve Sysprep compatibility errors [issue #2212](https://github.com/dsccommunity/SqlServerDsc/issues/2212).
- Added integration tests for `Complete-SqlDscImage` command to ensure command
  reliability in prepared image installation workflows. The test runs in a separate
  pipeline job `Integration_Test_Commands_SqlServer_PreparedImage` with its own CI
  worker, and verifies the completion of SQL Server instances prepared using
  `Install-SqlDscServer` with the `-PrepareImage` parameter. The test includes
  scenarios with minimal parameters and various service account/directory
  configurations [issue #2212](https://github.com/dsccommunity/SqlServerDsc/issues/2212).
- Added integration test for `Install-SqlDscServer` with the `-PrepareImage`
  parameter set to support the prepared image installation workflow. This test
  (`Install-SqlDscServer.Integration.PrepareImage.Tests.ps1`) runs in the
  `Integration_Test_Commands_SqlServer_PreparedImage` pipeline job and prepares
  a DSCSQLTEST instance that is later completed by `Complete-SqlDscImage` tests
  [issue #2212](https://github.com/dsccommunity/SqlServerDsc/issues/2212).
- Added integration tests for `Initialize-SqlDscRebuildDatabase` command to ensure
  command reliability. The test runs in group 8, alongside `Repair-SqlDscServer`,
  to verify the rebuild database functionality on the DSCSQLTEST instance
  [issue #2242](https://github.com/dsccommunity/SqlServerDsc/issues/2242).
- Added integration tests for `Repair-SqlDscServer` command to ensure command
  reliability. The test runs in group 8, before `Uninstall-SqlDscServer` in
  group 9, to verify the repair functionality on the DSCSQLTEST instance
  [issue #2238](https://github.com/dsccommunity/SqlServerDsc/issues/2238).
- Added integration tests for `ConvertTo-SqlDscServerPermission` command to ensure
  command reliability [issue #2207](https://github.com/dsccommunity/SqlServerDsc/issues/2207).
- Added post-installation configuration integration test to configure SSL certificate
  support for SQL Server instance DSCSQLTEST in CI environment, enabling testing
  of encryption-related functionality. The new `PostInstallationConfiguration`
  integration test includes:
  - Self-signed SSL certificate creation and installation
  - Certificate configuration for SQL Server Database Engine
  - Service account permissions for certificate private key access
  - Certificate trust chain configuration
  - Verification that encryption is properly configured
  - Enabled previously skipped encryption tests in `Invoke-SqlDscQuery`
  - Added integration tests for `Connect-SqlDscDatabaseEngine` command to verify
    the `-Encrypt` parameter functionality
  [issue #2290](https://github.com/dsccommunity/SqlServerDsc/issues/2290).
- Added integration tests for `Get-SqlDscDatabasePermission` command to ensure
  database permission retrieval functions correctly in real environments
  [issue #2221](https://github.com/dsccommunity/SqlServerDsc/issues/2221).
- Added integration tests for `Get-SqlDscManagedComputer` command to ensure it
  functions correctly in real environments
  [issue #2220](https://github.com/dsccommunity/SqlServerDsc/issues/2220).
- Added integration tests for `Remove-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2241](https://github.com/dsccommunity/SqlServerDsc/issues/2241).
- Added integration tests for `ConvertFrom-SqlDscDatabasePermission` command to
  ensure it functions correctly in real environments
  [issue #2211](https://github.com/dsccommunity/SqlServerDsc/issues/2211).
- Added integration tests for `Get-SqlDscStartupParameter` command to ensure it
  functions correctly in real environments
  [issue #2217](https://github.com/dsccommunity/SqlServerDsc/issues/2217).
- Added integration tests for `Get-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2216](https://github.com/dsccommunity/SqlServerDsc/issues/2216).
- Added integration tests for `Get-SqlDscPreferredModule` command to ensure it
  functions correctly in real environments
  [issue #2218](https://github.com/dsccommunity/SqlServerDsc/issues/2218).
- Added integration tests for `Enable-SqlDscAudit` command to ensure command
  reliability [issue #2223](https://github.com/dsccommunity/SqlServerDsc/issues/2223).
- Added integration tests for `Get-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2222](https://github.com/dsccommunity/SqlServerDsc/issues/2222).
- Added integration tests for `Disconnect-SqlDscDatabaseEngine` command to ensure
  command reliability in real environments
  [issue #2224](https://github.com/dsccommunity/SqlServerDsc/issues/2224).
- Added integration tests for `Invoke-SqlDscQuery` command to ensure it functions
  correctly in real environments
  [issue #2227](https://github.com/dsccommunity/SqlServerDsc/issues/2227).
- Added integration tests for `New-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2226](https://github.com/dsccommunity/SqlServerDsc/issues/2226).
- Added integration tests for `Test-SqlDscIsLogin` command to ensure it functions
  correctly in real environments
  [issue #2230](https://github.com/dsccommunity/SqlServerDsc/issues/2230).
- Added integration tests for `Test-SqlDscIsDatabasePrincipal` command to ensure
  it functions correctly in real environments
  [issue #2231](https://github.com/dsccommunity/SqlServerDsc/issues/2231).

### Fixed

- `Repair-SqlDscServer`
  - Removed the `Features` parameter from the command as SQL Server Repair action
    does not accept the `/FEATURES` parameter. SQL Server automatically repairs
    all installed features when using the Repair action. This fixes the error
    "The setting ''FEATURES'' is not allowed when the value of setting ''ACTION''
    is ''Repair''." that occurred when attempting to repair a SQL Server instance
    [issue #2238](https://github.com/dsccommunity/SqlServerDsc/issues/2238).
- Corrected error message in test file to recommend ''noop'' task instead of ''build''
  task for resolving dependencies
  ([issue #2279](https://github.com/dsccommunity/SqlServerDsc/issues/2279)).
- Updated integration test documentation in `tests/Integration/Commands/README.md`
  to correctly reflect that `ConvertFrom-SqlDscDatabasePermission` test does not
  require database instance connectivity
  [issue #2284](https://github.com/dsccommunity/SqlServerDsc/issues/2284).
- Added integration tests for `Set-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2236](https://github.com/dsccommunity/SqlServerDsc/issues/2236).
- Added integration tests for `Set-SqlDscStartupParameter` command to ensure
  reliable startup parameter configuration
  [issue #2233](https://github.com/dsccommunity/SqlServerDsc/issues/2233).
- Added integration tests for `Set-SqlDscServerPermission` command to ensure it
  functions correctly in real environments
  [issue #2234](https://github.com/dsccommunity/SqlServerDsc/issues/2234).
- Added integration tests for `Save-SqlDscSqlServerMediaFile` command to ensure
  it functions correctly in real environments
  [issue #2237](https://github.com/dsccommunity/SqlServerDsc/issues/2237).
- Added integration tests for `Disable-SqlDscAudit` command to ensure it functions
  correctly in real environments
  [issue #2206](https://github.com/dsccommunity/SqlServerDsc/issues/2206).
- Added integration tests for `ConvertTo-SqlDscDatabasePermission` command to
  ensure command reliability
  [issue #2209](https://github.com/dsccommunity/SqlServerDsc/issues/2209).
- Added integration tests for `Set-SqlDscDatabasePermission` command to ensure
  command reliability
  [issue #2235](https://github.com/dsccommunity/SqlServerDsc/issues/2235).
- Added integration test for `ConvertTo-SqlDscEditionName` command to ensure
  command reliability in real environments
  [issue #2208](https://github.com/dsccommunity/SqlServerDsc/issues/2208).
- Added integration tests for `Import-SqlDscPreferredModule` command to ensure
  proper module import functionality in real environments
  [issue #2225](https://github.com/dsccommunity/SqlServerDsc/issues/2225).
- Added integration tests for `Test-SqlDscIsSupportedFeature` command to ensure
  it functions correctly in real environments
  [issue #2228](https://github.com/dsccommunity/SqlServerDsc/issues/2228).
- Added integration test for `Get-SqlDscManagedComputerService` command to ensure
  command reliability [issue #2219](https://github.com/dsccommunity/SqlServerDsc/issues/2219).
- Added integration tests for `Set-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2232](https://github.com/dsccommunity/SqlServerDsc/issues/2232).
- Added integration tests for `ConvertFrom-SqlDscServerPermission` command to
  ensure it functions correctly in real environments
  [issue #2210](https://github.com/dsccommunity/SqlServerDsc/issues/2210).
- `Remove-SqlDscTraceFlag`
  - Added missing integration test to ensure command reliability ([issue #2239](https://github.com/dsccommunity/SqlServerDsc/issues/2239)).
- `Remove-SqlDscAudit`
  - Added missing integration test to ensure command reliability ([issue #2241](https://github.com/dsccommunity/SqlServerDsc/issues/2241)).
- Added integration tests for `Test-SqlDscIsRole` command to ensure it functions
  correctly in real environments
  [issue #2229](https://github.com/dsccommunity/SqlServerDsc/issues/2229).
- Added integration tests for `Add-SqlDscTraceFlag` command to ensure it functions
  correctly in real environments
  [issue #2214](https://github.com/dsccommunity/SqlServerDsc/issues/'


        } # End of PSData hashtable

    } # End of PrivateData hashtable
}