Skip to content

Commit 0c7693f

Browse files
committed
Merge branch 'add-skip-function' of https://github.com/Gijsreyn/operation-methods into add-skip-function
2 parents b1c6e97 + 36e7df1 commit 0c7693f

33 files changed

+109
-72
lines changed

dsc/tests/dsc_extension_secret.tests.ps1

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,40 @@ Describe 'Tests for the secret() function and extensions' {
131131
$errorMessage = Get-Content -Raw -Path $TestDrive/error.log
132132
$errorMessage | Should -Match "Extension 'Test/Secret2' returned multiple lines which is not supported for secrets"
133133
}
134+
135+
It 'Allows to pass in secret() through parameters' {
136+
$configYaml = @'
137+
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
138+
parameters:
139+
myString:
140+
type: secureString
141+
defaultValue: "[secret('MySecret')]"
142+
resources:
143+
- name: Database Connection
144+
type: Microsoft.DSC.Debug/Echo
145+
properties:
146+
output: "[parameters('myString')]"
147+
'@
148+
$out = dsc -l trace config get -i $configYaml 2> $TestDrive/error.log | ConvertFrom-Json
149+
$LASTEXITCODE | Should -Be 0
150+
$out.results.Count | Should -Be 1
151+
$out.results[0].result.actualState.Output | Should -BeExactly 'Hello'
152+
}
153+
154+
It 'Allows to pass in secret() through variables' {
155+
$configYaml = @'
156+
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
157+
variables:
158+
myString: "[secret('MySecret')]"
159+
resources:
160+
- name: Database Connection
161+
type: Microsoft.DSC.Debug/Echo
162+
properties:
163+
output: "[variables('myString')]"
164+
'@
165+
$out = dsc -l trace config get -i $configYaml 2> $TestDrive/error.log | ConvertFrom-Json
166+
$LASTEXITCODE | Should -Be 0
167+
$out.results.Count | Should -Be 1
168+
$out.results[0].result.actualState.Output | Should -BeExactly 'Hello'
169+
}
134170
}

dsc_lib/src/configure/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,9 +699,10 @@ impl Configurator {
699699
/// This function will return an error if the parameters are invalid.
700700
pub fn set_context(&mut self, parameters_input: Option<&Value>) -> Result<(), DscError> {
701701
let config = serde_json::from_str::<Configuration>(self.json.as_str())?;
702+
703+
self.context.extensions = self.discovery.extensions.values().cloned().collect();
702704
self.set_parameters(parameters_input, &config)?;
703705
self.set_variables(&config)?;
704-
self.context.extensions = self.discovery.extensions.values().cloned().collect();
705706
Ok(())
706707
}
707708

schemas/2024/04/bundled/config/document.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,4 +395,4 @@
395395
]
396396
}
397397
}
398-
}
398+
}

schemas/2024/04/bundled/config/document.vscode.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,4 +616,4 @@
616616
}
617617
}
618618
}
619-
}
619+
}

schemas/2024/04/config/document.metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919
}
2020
}
2121
}
22-
}
22+
}

schemas/src/config/document.metadata.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ properties:
3232
properties:
3333
securityContext:
3434
$ref: /<PREFIX>/<VERSION>/metadata/Microsoft.DSC/securityContext.yaml
35-
default: Current
35+
default: current
3636
description: >-
3737
This property defines the security context a configuration requires. If you invoke a DSC
3838
operation against the configuration document in a security context that conflicts with
3939
this metadata, DSC raises an error when it validates the configuration document.
4040
41-
The default security context is `Current`.
41+
The default security context is `current`.
4242
markdownDescription: |
4343
***
4444
[_Online Documentation_][01]
@@ -48,11 +48,11 @@ properties:
4848
operation against the configuration document in a security context that conflicts with
4949
this metadata, DSC raises an error when it validates the configuration document.
5050
51-
The default security context is `Current`.
51+
The default security context is `current`.
5252
5353
[01]: <DOCS_BASE_URL>/reference/schemas/config/metadata?<DOCS_VERSION_PIN>#microsoft.dsc
5454
markdownEnumDescriptions:
55-
- | # Current
55+
- | # current
5656
<!-- force a line break -->
5757
5858
> ### Current security context

schemas/v3.0.0/bundled/config/document.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,8 @@
339339
"properties": {
340340
"securityContext": {
341341
"$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json",
342-
"default": "Current",
343-
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `Current`."
342+
"default": "current",
343+
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `current`."
344344
}
345345
}
346346
}

schemas/v3.0.0/bundled/config/document.vscode.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -503,9 +503,9 @@
503503
"properties": {
504504
"securityContext": {
505505
"$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json",
506-
"default": "Current",
507-
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `Current`.",
508-
"markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines the security context a configuration requires. If you invoke a DSC\noperation against the configuration document in a security context that conflicts with\nthis metadata, DSC raises an error when it validates the configuration document.\n\nThe default security context is `Current`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/metadata?view=dsc-3.0&preserve-view=true#microsoft.dsc\n",
506+
"default": "current",
507+
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `current`.",
508+
"markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines the security context a configuration requires. If you invoke a DSC\noperation against the configuration document in a security context that conflicts with\nthis metadata, DSC raises an error when it validates the configuration document.\n\nThe default security context is `current`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/metadata?view=dsc-3.0&preserve-view=true#microsoft.dsc\n",
509509
"markdownEnumDescriptions": [
510510
"<!-- force a line break -->\n\n> ### Current security context\n>\n> Indicates that the configuration document is usable under any security context. You\n> can invoke DSC operations against the document when elevated as root or an\n> administrator and as a normal user or account.\n",
511511
"<!-- force a line break -->\n\n> ### Elevated security context\n>\n> Indicates that the configuration document is usable only in an elevated security\n> context. You can invoke DSC operations against the document when elevated as root or\n> an administrator. When you invoke DSC operations against the document as a\n> non-elevated user or account, DSC raises an error when it validates the configuration\n> document.\n",

schemas/v3.0.0/config/document.metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
"properties": {
1414
"securityContext": {
1515
"$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json",
16-
"default": "Current",
17-
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `Current`."
16+
"default": "current",
17+
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `current`."
1818
}
1919
}
2020
}

schemas/v3.0.1/bundled/config/document.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,8 @@
345345
"properties": {
346346
"securityContext": {
347347
"$ref": "/PowerShell/DSC/main/schemas/v3.0.1/metadata/Microsoft.DSC/securityContext.json",
348-
"default": "Current",
349-
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `Current`."
348+
"default": "current",
349+
"description": "This property defines the security context a configuration requires. If you invoke a DSC operation against the configuration document in a security context that conflicts with this metadata, DSC raises an error when it validates the configuration document.\nThe default security context is `current`."
350350
}
351351
}
352352
}

0 commit comments

Comments
 (0)