DnsServerDsc Versions Save

This module contains DSC resources for the management and configuration of Windows Server DNS Server.

v3.0.1-preview0002

2 years ago

[v3.0.1-preview0002]

Changed

  • DnsServerDsc
    • Changed the issue template for reporting a problem with a resource to use the new GitHub issue forms template.
    • Changed the issue template for proposing a new resource to use the new GitHub issue forms template.
    • Replaced the private function ConvertTo-HashTableFromObject with the public function ConvertFrom-DscResourceInstance (from DscResource.Common).
    • Updated wiki start page with deprecation notice.
    • Updated issue template for proposing a new resource.

v3.0.1-preview0001

2 years ago

[v3.0.1-preview0001]

Changed

  • DnsServerDsc
    • Changed the issue template for reporting a problem with a resource to use the new GitHub issue forms template.
    • Changed the issue template for proposing a new resource to use the new GitHub issue forms template.
    • Replaced the private function ConvertTo-HashTableFromObject with the public function ConvertFrom-DscResourceInstance (from DscResource.Common).

v3.0.0

2 years ago

[v3.0.0]

Removed

  • xDnsRecord

    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx

    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting

    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
    • BREAKING CHANGE: A few properties that are not supported by any DNS Server PowerShell cmdlet was moved to the new resource DnsServerSettingLegacy.
    • BREAKING CHANGE: The properties DsPollingInterval and DsTombstoneInterval has been removed (issue #252). Use the resource DnsServerDsSetting to enforce these properties.
  • ResourceBase

    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings
  • DnsServerSettingLegacy
    • A new resource to manage legacy DNS Server settings that are not supported by any DNS Server PowerShell cmdlet.

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerSetting
    • Changed to use Get-DnsServerSetting and Set-DnsServerSetting (issue #185).
    • BREAKING CHANGE: The property DisableAutoReverseZones have been renamed to DisableAutoReverseZone.
    • BREAKING CHANGE: The property ListenAddresses have been renamed to ListeningIPAddress.
    • BREAKING CHANGE: The property AllowUpdate was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting (related to issue #101).
    • BREAKING CHANGE: The property EnableDnsSec was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting.
    • BREAKING CHANGE: The property ForwardDelegations was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0005

2 years ago

[v3.0.0-preview0005]

Removed

  • xDnsRecord

    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx

    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting

    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
    • BREAKING CHANGE: A few properties that are not supported by any DNS Server PowerShell cmdlet was moved to the new resource DnsServerSettingLegacy.
    • BREAKING CHANGE: The properties DsPollingInterval and DsTombstoneInterval has been removed (issue #252). Use the resource DnsServerDsSetting to enforce these properties.
  • ResourceBase

    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings
  • DnsServerSettingLegacy
    • A new resource to manage legacy DNS Server settings that are not supported by any DNS Server PowerShell cmdlet.

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerSetting
    • Changed to use Get-DnsServerSetting and Set-DnsServerSetting (issue #185).
    • BREAKING CHANGE: The property DisableAutoReverseZones have been renamed to DisableAutoReverseZone.
    • BREAKING CHANGE: The property ListenAddresses have been renamed to ListeningIPAddress.
    • BREAKING CHANGE: The property AllowUpdate was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting (related to issue #101).
    • BREAKING CHANGE: The property EnableDnsSec was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting.
    • BREAKING CHANGE: The property ForwardDelegations was changed to a boolean value ($true or $false) since that is what the cmdlet Set-DnsServerSetting is expecting.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0004

2 years ago

[v3.0.0-preview0004]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records
  • DnsServerDsSetting
    • Added new resource to manage AD-integrated DNS settings

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0003

3 years ago

[v3.0.0-preview0003]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

Fixed

  • Logic bug in DnsRecordPtr.expandIPv6String($string) (#255)
    • Supporting tests added

v3.0.0-preview0002

3 years ago

[v3.0.0-preview0002]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().
  • DnsRecordNs
    • Added new resource to manage NS records
  • DnsRecordNsScoped
    • Added new resource to manage scoped NS records

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

v3.0.0-preview0001

3 years ago

[v3.0.0-preview0001]

Removed

  • xDnsRecord
    • BREAKING CHANGE: The resource has been replaced by DnsServerA, DnsServerPtr, and DnsServerCName (issue #221).
  • xDnsServerMx
    • BREAKING CHANGE: The resource has been replaced by DnsServerMx (issue #228).
  • DnsServerSetting
    • BREAKING CHANGE: The properties Forwarders and ForwardingTimeout has been removed (issue #192). Use the resource DnsServerForwarder to enforce these properties.
    • BREAKING CHANGE: The properties EnableEDnsProbes and EDnsCacheTimeout has been removed (issue #195). Use the resource DnsServerEDns to enforce these properties.
    • BREAKING CHANGE: The properties SecureResponses, MaxCacheTTL, and MaxNegativeCacheTTL has been removed (issue #197). To enforce theses properties, use resource DnsServerEDns using the properties EnablePollutionProtection, MaxTtl, and MaxNegativeTtl respectively.
    • BREAKING CHANGE: The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval have been removed. Use the resource DnsServerScavenging to enforce this properties (issue #193).
    • BREAKING CHANGE: The properties NoRecursion, RecursionRetry, and RecursionTimeout has been removed (issue #200). To enforce theses properties, use resource DnsServerRecursion using the properties Enable, RetryInterval, and Timeout respectively.
  • ResourceBase
    • For the method Get() the overload that took a [Microsoft.Management.Infrastructure.CimInstance] was removed as it is not the correct pattern going forward.

Added

  • DnsServerDsc
    • Added new resource
      • DnsServerCache - resource to enforce cache settings (issue #196).
      • DnsServerRecursion - resource to enforce recursion settings (issue #198).
    • Added new private function Get-ClassName that returns the class name or optionally an array with the class name and all inherited base class named.
    • Added new private function Get-LocalizedDataRecursive that gathers all localization strings from an array of class names. This can be used in classes to be able to inherit localization strings from one or more base class. If a localization string key exist in a parent class's localization string file it will override the localization string key in any base class.
    • Fixed code coverage in the pipeline (issue #246).
  • ResourceBase
    • Added new method Assert() tha calls Assert-Module and AssertProperties().

Changed

  • DnsServerDsc
    • BREAKING CHANGE: Renamed the module to DnsServerDsc (issue #179).
    • BREAKING CHANGE: Removed the prefix 'x' from all MOF-based resources (issue #179).
    • Renamed a MOF-based resource to use the prefix 'DSC' (issue #225).
    • Fix stub Get-DnsServerResourceRecord so it throws if it is not mocked correctly (issue #204).
    • Switch the order in the deploy pipeline so that creating the GitHub release is made after a successful release.
    • Updated stub functions to throw if they are used (when missing a mock in unit test) (issue #235).
  • ResourceBase
    • Added support for inherit localization strings and also able to override a localization string that exist in a base class.
    • Moved more logic from the resources into the base class for the method Test(), Get(), and Set(). The base class now have three methods AssertProperties(), Modify(), and GetCurrentState() where the two latter ones must be overridden by a resource if calling the base methods Set() and Get().
    • Moved the Assert-Module from the constructor to a new method Assert() that is called from Get(), Test(), and Set(). The method Assert() also calls the method AssertProperties(). The method Assert() is not meant to be overridden, but can if there is a reason not to run Assert-Module and or AssertProperties().
  • Integration tests
    • Added commands in the DnsRecord* integration tests to wait for the LCM before moving to the next test.
  • DnsServerCache
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerEDns
    • Moved to the same coding pattern as DnsServerRecursion.
  • DnsServerScavenging
    • Moved to the same coding pattern as DnsServerRecursion.

v2.0.0

3 years ago

[v2.0.0]

Deprecated

  • The module xDnsServer will be renamed DnsServerDsc. Version 2.0.0 will be the the last release of xDnsServer. Version 3.0.0 will be release as DnsServerDsc, it will be released shortly after the 2.0.0 release (issue #179). The prefix 'x' will be removed from all resources in DnsServerDsc.
  • xDnsRecord will be removed in the next release (of DnsServerDsc) (issue #220). Start migrate to the resources DnsRecord*.
  • xDnsRecordMx will be removed in the next release (of DnsServerDsc) (issue #228). Start migrate to the resources DnsRecordMx.
  • The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #193). Migrate to use the resource DnsServerScavenging to enforce these properties.
  • The properties EnableEDnsProbes and EDnsCacheTimeout will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195). Migrate to use the resource DnsServerEDns to enforce these properties.
  • The properties Forwarders and ForwardingTimeout will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192) Migrate to use the resource xDnsServerForwarder to enforce these properties.

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 PowerShell module (issue #37).
    • Added the base class ResourcePropertiesBase to hold DSC properties that can be inherited for all class-based resources.
    • Added the base class ResourceBase to hold methods that should be inherited for all class-based resources.
    • Added new private function ConvertTo-TimeSpan to help when evaluating properties that must be passed as strings and then converted to [System.TimeSpan].
    • Added new private function Assert-TimeSpan to help assert that a value provided in a resource can be converted to a [System.TimeSpan] and optionally evaluates so it is not below a minium value or over a maximum value.
    • Added prefix.ps1 that is used to import dependent modules like DscResource.Common.
    • Added new resource
      • DnsServerScavenging - resource to enforce scavenging settings (issue #189).
      • DnsServerEDns - resource to enforce extension mechanisms for DNS (EDNS) settings (issue #194).
  • xDNSServerClientSubnet
    • Added integration tests.
  • xDnsServerPrimaryZone
    • Added integration tests (issue #173).
    • Added more examples.
  • xDnsRecordMx
    • Added new resource to manage MX records
  • xDnsServerZoneScope
    • Added integration tests (issue #177).
    • New read-only property ZoneFile was added to return the zone scope file name used for the zone scope.
  • xDnsServerZoneAging
  • xDnsServerForwarder
    • Added integration tests (issue #170).
    • Added new properties Timeout and EnableReordering (issue #191).
  • xDnsServerRootHint
  • Added a class DnsRecordBase that is used as the base class for the resources that create DNS records.
    • Added unit tests to get code coverage on unimplemented method calls (ensuring the throw statements get called)
  • DnsRecordSrv
    • Added new resource to manage SRV records
  • DnsRecordSrvScoped
    • Added new resource to manage scoped SRV records
  • DnsRecordA
    • Added new resource to manage A records
  • DnsRecordAScoped
    • Added new resource to manage scoped A records
  • DnsRecordAaaa
    • Added new resource to manage AAAA records
  • DnsRecordAaaaScoped
    • Added new resource to manage scoped AAAA records
  • DnsRecordCname
    • Added new resource to manage CNAME records
  • DnsRecordCnameScoped
    • Added new resource to manage scoped CNAME records
  • DnsRecordPtr
    • Added new resource to manage PTR records
  • DnsRecordMx
    • Added new resource to manage MX records
  • DnsRecordMxScoped
    • Added new resource to manage scoped MX records

Changed

  • xDnsServer
    • BREAKING CHANGE: Set the minimum required PowerShell version to 5.0 to support classes used in the DnsRecordBase-derived resources.
    • Resolve style guideline violations for hashtables
    • Update pipeline files.
    • Renamed the default branch to main (issue #131).
    • Uses PublishPipelineArtifact in Azure Pipelines pipeline.
    • Unit tests are now run in PowerShell 7 in the Azure Pipelines pipeline (issue #160).
    • Merged the historic changelog into CHANGELOG.md (issue #163).
    • Only add required role in integration tests pipeline.
    • Updated the pipeline to use new deploy tasks.
    • Revert back to using the latest version of module Sampler for the pipeline (issue #211).
    • Fixed the sections in the GitHub issue and pull request templates to have a bit higher font size. This makes it easier to distinguish the section headers from the text.
  • DnsRecordBase
    • Changed class to inherit properties from 'ResourcePropertiesBase`.
  • 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).
  • 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).
  • 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.
  • DnsRecordSrv
    • Changed logic for calculating the record's hostname

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).
    • Remove helper function ConvertTo-CimInstance in favor of the one in module DscResource.Common (issue #167).
    • Remove helper function ConvertTo-HashTable in favor of the one in module DscResource.Common (issue #168).
  • xDnServerSetting
    • BREAKING CHANGE: The properties LogIPFilterList, LogFilePath, LogFileMaxSize, and EventLogLevel have been removed. Use the resource xDnsServerDiagnostics with the properties FilterIPAddressList, LogFilePath, MaxMBFileSize, and EventLogLevel respectively to enforce these settings (issue #190). This is done in preparation to support more settings through the cmdlet Get-DnsServerSetting for the resource xDnServerSetting, and these values are not available through that cmdlet.

Fixed

  • xDnsServer
    • Enable Unit Tests to be run locally.
    • Rename integration tests so they are run in the pipeline (issue #134).
    • Added back the build task to create releases on GitHub.
    • Fixed property descriptions in schema throughout.
    • Fixed uploading of code coverage that was broken since Sampler had a bug.
    • Fixed examples so the license information point to the correct default branch.
    • Fixed a link in the README.md.
  • DnsRecordBase
    • Fixed so that Compare-DscParameterState is used in the method Test() if the record already exist, to compare the properties except Ensure in the desired state against the actual state (issue #205).
  • 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).
  • 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.

v2.0.0-preview0018

3 years ago

[v2.0.0-preview0018]

Deprecated

  • The module xDnsServer will be renamed DnsServerDsc. Version 2.0.0 will be the the last release of xDnsServer. Version 3.0.0 will be release as DnsServerDsc, it will be released shortly after the 2.0.0 release (issue #179). The prefix 'x' will be removed from all resources in DnsServerDsc.
  • xDnsRecord will be removed in the next release (of DnsServerDsc) (issue #220). Start migrate to the resources DnsRecord*.
  • xDnsRecordMx will be removed in the next release (of DnsServerDsc) (issue #228). Start migrate to the resources DnsRecordMx.
  • The properties DefaultAgingState, ScavengingInterval, DefaultNoRefreshInterval, and DefaultRefreshInterval will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #193). Migrate to use the resource DnsServerScavenging to enforce these properties.
  • The properties EnableEDnsProbes and EDnsCacheTimeout will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #195). Migrate to use the resource DnsServerEDns to enforce these properties.
  • The properties Forwarders and ForwardingTimeout will be removed from the resource xDnsServerSetting in the next release (of DnsServerDsc) (issue #192) Migrate to use the resource xDnsServerForwarder to enforce these properties.

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 PowerShell module (issue #37).
    • Added the base class ResourcePropertiesBase to hold DSC properties that can be inherited for all class-based resources.
    • Added the base class ResourceBase to hold methods that should be inherited for all class-based resources.
    • Added new private function ConvertTo-TimeSpan to help when evaluating properties that must be passed as strings and then converted to [System.TimeSpan].
    • Added new private function Assert-TimeSpan to help assert that a value provided in a resource can be converted to a [System.TimeSpan] and optionally evaluates so it is not below a minium value or over a maximum value.
    • Added prefix.ps1 that is used to import dependent modules like DscResource.Common.
    • Added new resource
      • DnsServerScavenging - resource to enforce scavenging settings (issue #189).
      • DnsServerEDns - resource to enforce extension mechanisms for DNS (EDNS) settings (issue #194).
  • xDNSServerClientSubnet
    • Added integration tests.
  • xDnsServerPrimaryZone
    • Added integration tests (issue #173).
    • Added more examples.
  • xDnsRecordMx
    • Added new resource to manage MX records
  • xDnsServerZoneScope
    • Added integration tests (issue #177).
    • New read-only property ZoneFile was added to return the zone scope file name used for the zone scope.
  • xDnsServerZoneAging
  • xDnsServerForwarder
    • Added integration tests (issue #170).
    • Added new properties Timeout and EnableReordering (issue #191).
  • xDnsServerRootHint
  • Added a class DnsRecordBase that is used as the base class for the resources that create DNS records.
    • Added unit tests to get code coverage on unimplemented method calls (ensuring the throw statements get called)
  • DnsRecordSrv
    • Added new resource to manage SRV records
  • DnsRecordSrvScoped
    • Added new resource to manage scoped SRV records
  • DnsRecordA
    • Added new resource to manage A records
  • DnsRecordAScoped
    • Added new resource to manage scoped A records
  • DnsRecordAaaa
    • Added new resource to manage AAAA records
  • DnsRecordAaaaScoped
    • Added new resource to manage scoped AAAA records
  • DnsRecordCname
    • Added new resource to manage CNAME records
  • DnsRecordCnameScoped
    • Added new resource to manage scoped CNAME records
  • DnsRecordPtr
    • Added new resource to manage PTR records
  • DnsRecordMx
    • Added new resource to manage MX records
  • DnsRecordMxScoped
    • Added new resource to manage scoped MX records

Changed

  • xDnsServer
    • BREAKING CHANGE: Set the minimum required PowerShell version to 5.0 to support classes used in the DnsRecordBase-derived resources.
    • Resolve style guideline violations for hashtables
    • Update pipeline files.
    • Renamed the default branch to main (issue #131).
    • Uses PublishPipelineArtifact in Azure Pipelines pipeline.
    • Unit tests are now run in PowerShell 7 in the Azure Pipelines pipeline (issue #160).
    • Merged the historic changelog into CHANGELOG.md (issue #163).
    • Only add required role in integration tests pipeline.
    • Updated the pipeline to use new deploy tasks.
    • Revert back to using the latest version of module Sampler for the pipeline (issue #211).
    • Fixed the sections in the GitHub issue and pull request templates to have a bit higher font size. This makes it easier to distinguish the section headers from the text.
  • DnsRecordBase
    • Changed class to inherit properties from 'ResourcePropertiesBase`.
  • 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).
  • 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).
  • 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.
  • DnsRecordSrv
    • Changed logic for calculating the record's hostname

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).
    • Remove helper function ConvertTo-CimInstance in favor of the one in module DscResource.Common (issue #167).
    • Remove helper function ConvertTo-HashTable in favor of the one in module DscResource.Common (issue #168).
  • xDnServerSetting
    • BREAKING CHANGE: The properties LogIPFilterList, LogFilePath, LogFileMaxSize, and EventLogLevel have been removed. Use the resource xDnsServerDiagnostics with the properties FilterIPAddressList, LogFilePath, MaxMBFileSize, and EventLogLevel respectively to enforce these settings (issue #190). This is done in preparation to support more settings through the cmdlet Get-DnsServerSetting for the resource xDnServerSetting, and these values are not available through that cmdlet.

Fixed

  • xDnsServer
    • Enable Unit Tests to be run locally.
    • Rename integration tests so they are run in the pipeline (issue #134).
    • Added back the build task to create releases on GitHub.
    • Fixed property descriptions in schema throughout.
    • Fixed uploading of code coverage that was broken since Sampler had a bug.
    • Fixed examples so the license information point to the correct default branch.
    • Fixed a link in the README.md.
  • DnsRecordBase
    • Fixed so that Compare-DscParameterState is used in the method Test() if the record already exist, to compare the properties except Ensure in the desired state against the actual state (issue #205).
  • 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).
  • 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.