Skip to content

Commit f47c3fd

Browse files
authored
BREAKING: WSManListener: Convert to a Class Resource (#106)
1 parent f952af1 commit f47c3fd

36 files changed

+2607
-2320
lines changed

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
55

66
## [Unreleased]
77

8+
### Added
9+
10+
- `WSManReason`
11+
- Used in Class Resources.
12+
- `WSManSubjectFormat` Enum.
13+
- `WSManTransport` Enum.
14+
- `RequiredModules`
15+
- Added `DscResource.Base` class.
16+
17+
### Changed
18+
19+
- `DSC_WSManListener`
20+
- Converted to Class Resource.
21+
- Extracted private functions to individual files.
22+
- BREAKING: Renamed parameter `DN` to `BaseDN` - fixes [Issue #89](https://github.com/dsccommunity/WSManDsc/issues/89).
23+
- `DSC_WSManConfig`
24+
- Removed Export-ModuleMember.
25+
- `DSC_WSManServiceConfig`
26+
- Removed Export-ModuleMember.
27+
28+
### Removed
29+
30+
- `CommonTestHelper`
31+
- This is now provided by `DscResource.Test`
32+
833
## [3.2.0] - 2025-01-19
934

1035
### Added

RequiredModules.psd1

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@{
2-
PSDependOptions = @{
2+
PSDependOptions = @{
33
AddToPath = $true
44
Target = 'output\RequiredModules'
55
Parameters = @{
@@ -21,12 +21,18 @@
2121

2222
# Build dependencies needed for using the module
2323
'DscResource.Common' = 'latest'
24+
'DscResource.Base' = 'latest'
2425

2526
# Analyzer rules
2627
'DscResource.AnalyzerRules' = 'latest'
2728
'Indented.ScriptAnalyzerRules' = 'latest'
2829

2930
# Prerequisite modules for documentation.
30-
'DscResource.DocGenerator' = 'latest'
31+
'DscResource.DocGenerator' = @{
32+
Version = 'latest'
33+
Parameters = @{
34+
AllowPrerelease = $true
35+
}
36+
}
3137
PlatyPS = 'latest'
3238
}

azure-pipelines.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ stages:
6161
displayName: 'HQRM'
6262
pool:
6363
vmImage: 'windows-latest'
64-
timeoutInMinutes: 0
64+
timeoutInMinutes: '0'
6565
steps:
6666
- task: DownloadPipelineArtifact@2
6767
displayName: 'Download Pipeline Artifact'
@@ -90,7 +90,7 @@ stages:
9090
displayName: 'Unit (Windows Server 2019)'
9191
pool:
9292
vmImage: 'windows-2019'
93-
timeoutInMinutes: 0
93+
timeoutInMinutes: '0'
9494
steps:
9595
- task: DownloadPipelineArtifact@2
9696
displayName: 'Download Pipeline Artifact'
@@ -127,7 +127,7 @@ stages:
127127
dependsOn: Test_Unit_2019
128128
pool:
129129
vmImage: 'ubuntu-latest'
130-
timeoutInMinutes: 0
130+
timeoutInMinutes: '0'
131131
steps:
132132
- task: DownloadPipelineArtifact@2
133133
displayName: 'Download Pipeline Artifact'
@@ -158,7 +158,7 @@ stages:
158158
displayName: 'Integration (Windows Server 2019)'
159159
pool:
160160
vmImage: 'windows-2019'
161-
timeoutInMinutes: 0
161+
timeoutInMinutes: '0'
162162
steps:
163163
- task: DownloadPipelineArtifact@2
164164
displayName: 'Download Pipeline Artifact'
@@ -195,7 +195,7 @@ stages:
195195
displayName: 'Unit (Windows Server 2022)'
196196
pool:
197197
vmImage: 'windows-2022'
198-
timeoutInMinutes: 0
198+
timeoutInMinutes: '0'
199199
steps:
200200
- task: DownloadPipelineArtifact@2
201201
displayName: 'Download Pipeline Artifact'
@@ -224,7 +224,7 @@ stages:
224224
displayName: 'Integration (Windows Server 2022)'
225225
pool:
226226
vmImage: 'windows-2022'
227-
timeoutInMinutes: 0
227+
timeoutInMinutes: '0'
228228
steps:
229229
- task: DownloadPipelineArtifact@2
230230
displayName: 'Download Pipeline Artifact'

build.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ CopyPaths:
4545
- en-US
4646
- DSCResources
4747
Prefix: prefix.ps1
48-
Suffix: suffix.ps1
4948
Encoding: UTF8
5049
VersionedOutputDirectory: true
5150
BuiltModuleSubdirectory: builtModule
@@ -80,11 +79,15 @@ NestedModule:
8079
Path: ./output/RequiredModules/DscResource.Common
8180
AddToManifest: false
8281
Exclude: PSGetModuleInfo.xml
82+
DscResource.Base:
83+
CopyOnly: true
84+
Path: ./output/RequiredModules/DscResource.Base
85+
AddToManifest: false
86+
Exclude: PSGetModuleInfo.xml
8387

8488
####################################################
8589
# Pester Configuration (Sampler) #
8690
####################################################
87-
8891
Pester:
8992
Configuration:
9093
Run:
@@ -105,8 +108,6 @@ Pester:
105108
ExcludeFromCodeCoverage:
106109
- Modules/DscResource.Common
107110
- Modules/DscResource.Base
108-
- prefix.ps1
109-
- WSManDsc.psm1
110111

111112
####################################################
112113
# Pester Configuration (DscResource.Test) #
@@ -169,7 +170,7 @@ DscResource.DocGenerator:
169170
- '\*(.+?)\*' # Match Italic (asterisk)
170171
Publish_GitHub_Wiki_Content:
171172
Debug: false
172-
Generate_Wiki_Content:
173+
Generate_Markdown_For_DSC_Resources:
173174
MofResourceMetadata:
174175
Type: MofResource
175176
Category: Resources

source/Build.psd1

Lines changed: 0 additions & 5 deletions
This file was deleted.

source/Classes/001.WSManReason.ps1

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<#
2+
.SYNOPSIS
3+
The reason a property of a DSC resource is not in desired state.
4+
5+
.DESCRIPTION
6+
A DSC resource can have a read-only property `Reasons` that the compliance
7+
part (audit via Azure Policy) of Azure AutoManage Machine Configuration
8+
uses. The property Reasons holds an array of WSManReason. Each WSManReason
9+
explains why a property of a DSC resource is not in desired state.
10+
#>
11+
12+
class WSManReason
13+
{
14+
[DscProperty()]
15+
[System.String]
16+
$Code
17+
18+
[DscProperty()]
19+
[System.String]
20+
$Phrase
21+
}

0 commit comments

Comments
 (0)