xDnsServer.psd1

@{
    # Version number of this module.
    moduleVersion     = '2.0.0'

    # ID used to uniquely identify this module
    GUID              = '5f70e6a1-f1b2-4ba0-8276-8967d43a7ec2'

    # 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 DSC resources for the management and configuration of Windows Server DNS Server.'

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

    # Functions to export from this module
    FunctionsToExport = @()

    # Cmdlets to export from this module
    CmdletsToExport   = @()

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

    # Aliases to export from this module
    AliasesToExport   = @()

    DscResourcesToExport = @('xDnsRecord','xDnsRecordMx','xDnsRecordSrv','xDnsServerADZone','xDnsServerClientSubnet','xDnsServerConditionalForwarder','xDnsServerDiagnostics','xDnsServerForwarder','xDnsServerPrimaryZone','xDnsServerRootHint','xDnsServerSecondaryZone','xDnsServerSetting','xDnsServerZoneAging','xDnsServerZoneScope','xDnsServerZoneTransfer')

    <#
      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   = 'preview0011'

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

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

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

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

            # ReleaseNotes of this module
            ReleaseNotes = '## [2.0.0-preview0011] - 2021-02-28
 
### Added
 
- xDnsServer
  - Added automatic release with a new CI pipeline.
  - Add unit tests for the Get-LocalizedData, NewTerminatingError, and
    Assert-Module helper functions.
  - Added description README files for each resource.
  - Add example files for resources
  - OptIn to the following Dsc Resource Meta Tests:
    - Common Tests - Validate Localization
    - Common Tests - Validate Example Files To Be Published
  - Standardize Resource Localization.
  - Added the build task `Publish_GitHub_Wiki_Content` to publish content
    to the GitHub repository wiki.
  - Added new source folder `WikiSource` which content will be published
    to the GitHub repository wiki.
    - Add the markdown file `Home.md` which will be automatically updated
      with the latest version before published to GitHub repository wiki.
  - Updated the prerequisites in the GitHub repository wiki (`Home.md`)
    that _Microsoft DNS Server_ is required on a node targeted by a resource,
    and that the DSC resources requires the [DnsServer](https://docs.microsoft.com/en-us/powershell/module/dnsserver)
    PowerShell module ([issue #37](https://github.com/dsccommunity/xDnsServer/issues/37)).
- xDNSServerClientSubnet
  - Added integration tests.
- xDnsRecordSrv
  - Added new resource to manage SRV records
- xDnsServerPrimaryZone
  - Added integration tests ([issue #173](https://github.com/dsccommunity/xDnsServer/issues/173)).
  - Added more examples.
- xDnsRecordMx
  - Added new resource to manage MX records
- xDnsServerZoneScope
  - Added integration tests ([issue #177](https://github.com/dsccommunity/xDnsServer/issues/177)).
  - New read-only property `ZoneFile` was added to return the zone scope
    file name used for the zone scope.
- xDnsServerZoneAging
  - Added integration tests ([issue #176](https://github.com/dsccommunity/xDnsServer/issues/176)).
- xDnsServerForwarder
  - Added integration tests ([issue #170](https://github.com/dsccommunity/xDnsServer/issues/170)).
- xDnsServerRootHint
  - Added integration tests ([issue #174](https://github.com/dsccommunity/xDnsServer/issues/174)).
 
### Changed
 
- xDnsServer
  - Resolve style guideline violations for hashtables
  - Update pipeline files.
  - Renamed the default branch to `main` ([issue #131](https://github.com/dsccommunity/xDnsServer/issues/131)).
  - Uses `PublishPipelineArtifact` in _Azure Pipelines_ pipeline.
  - Unit tests are now run in PowerShell 7 in the _Azure Pipelines_
    pipeline ([issue #160](https://github.com/dsccommunity/xDnsServer/issues/160)).
  - Merged the historic changelog into CHANGELOG.md ([issue #163](https://github.com/dsccommunity/xDnsServer/issues/163)).
  - Only add required role in integration tests pipeline.
- xDnsRecordSrv
  - Now uses `[CimInstance]::new()` both in the resource code and the resource
    unit test to clone the existing DNS record instead of using the method
    `Clone()` that does not exist in PowerShell 7.
- xDnsServerSetting
  - BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
    parameter `DnsServer`. This prevents the resource from being used twice
    in the same configuration using the same value for the parameter `DnsServer`
    ([issue #156](https://github.com/dsccommunity/xDnsServer/issues/156)).
- xDnsServerDiagnostics
  - BREAKING CHANGE: The mandatory parameter was replaced by the mandatory
    parameter `DnsServer`. This prevents the resource from being used twice
    in the same configuration using the same value for the parameter `DnsServer`
    ([issue #157](https://github.com/dsccommunity/xDnsServer/issues/157)).
- xDnsServerPrimaryZone
  - Now the property `Name` is always returned from `Get-TargetResource`
    since it is a `Key` property.
- xDnsServerForwarder
  - When providing an empty collection the resource will enforce that no
    forwarders are present.
 
### Removed
 
- xDnsServer
  - BREAKING CHANGE: The DSC resource xDnsARecord was removed and are replaced
    by the DSC resource xDnsRecord.
  - Removing resource parameter information from README.md in favor of
    GitHub repository wiki.
  - Remove helper function `Remove-CommonParameter` in favor of the one in
    module _DscResource.Common_ ([issue #166](https://github.com/dsccommunity/xDnsServer/issues/166)).
  - Remove helper function `ConvertTo-CimInstance` in favor of the one in
    module _DscResource.Common_ ([issue #167](https://github.com/dsccommunity/xDnsServer/issues/167)).
  - Remove helper function `ConvertTo-HashTable` in favor of the one in
    module _DscResource.Common_ ([issue #168](https://github.com/dsccommunity/xDnsServer/issues/168)).
 
### Fixed
 
- xDnsServer
  - Enable Unit Tests to be run locally.
  - Rename integration tests so they are run in the pipeline ([issue #134](https://github.com/dsccommunity/xDnsServer/issues/134)).
  - Added back the build task to create releases on GitHub.
  - Fix property descriptions in schema throughout.
  - Fix uploading of code coverage that was broken since Sampler had a bug.
  - Fix examples so the license information point to the correct default branch.
- xDnsServerDiagnostics
  - Fix EnableLogFileRollover Parameter name in README.
- xDnsRecord
  - Fix "Removing a DNS A Record" example.
- xDnsServerDiagnostics
  - Fixed typo in parameter `EnableLogFileRollover`.
  - Updated integration test to correct template.
- xDnsServerSettings
  - Updated integration test to correct template.
- xDnsServerAdZone
  - Now the parameter `ComputerName` can be used without throwing an exception
    ([issue 79](https://github.com/PowerShell/xDnsServer/issues/79)).
- xDnsServerZoneScope
  - Correctly returns the zone scope name when calling `Get-TargetResource`.
- xDnsServerForwarder
  - Now it is possible to just enforce the property `UseRooHint` without
    changing forwarders.
- xDnsServerRootHint
  - Fixed the verbose message returning the correct number of root hints.
 
'

        } # End of PSData hashtable
    } # End of PrivateData hashtable
}