Skip to content

Commit 119832c

Browse files
authored
Merge pull request #1498 from SteveL-MSFT/backport-remove-properties
Backport remove properties
2 parents 613a278 + ac67dcf commit 119832c

6 files changed

Lines changed: 2 additions & 78 deletions

File tree

dsc/tests/dsc_export.tests.ps1

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ resources:
163163
$out.resources[1].properties.hello | Should -BeExactly 'world'
164164
}
165165

166-
It 'Export can surface _kind, _securityContext, and _name from a resource' {
166+
It 'Export can surface _securityContext and _name from a resource' {
167167
$yaml = @'
168168
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
169169
resources:
@@ -176,9 +176,7 @@ resources:
176176
$LASTEXITCODE | Should -Be 0
177177
$out.resources.count | Should -Be 1
178178
$out.resources[0].name | Should -BeExactly 'TestName'
179-
$out.resources[0].kind | Should -BeExactly 'TestKind'
180179
$out.resources[0].metadata.'Microsoft.DSC'.securityContext | Should -BeExactly 'elevated'
181-
$out.resources[0].properties.psobject.properties.name | Should -Not -Contain '_kind'
182180
$out.resources[0].properties.psobject.properties.name | Should -Not -Contain '_securityContext'
183181
$out.resources[0].properties.psobject.properties.name | Should -Not -Contain '_name'
184182
}

lib/dsc-lib/src/configure/config_doc.rs

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -427,44 +427,6 @@ pub struct Copy {
427427
pub batch_size: Option<IntOrExpression>,
428428
}
429429

430-
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema)]
431-
#[serde(deny_unknown_fields)]
432-
pub struct Plan {
433-
pub name: String,
434-
#[serde(skip_serializing_if = "Option::is_none", rename = "promotionCode")]
435-
pub promotion_code: Option<String>,
436-
#[serde(skip_serializing_if = "Option::is_none")]
437-
pub publisher: Option<String>,
438-
#[serde(skip_serializing_if = "Option::is_none")]
439-
pub product: Option<String>,
440-
#[serde(skip_serializing_if = "Option::is_none")]
441-
pub version: Option<String>,
442-
}
443-
444-
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema)]
445-
#[serde(deny_unknown_fields)]
446-
pub struct Identity {
447-
#[serde(skip_serializing_if = "Option::is_none")]
448-
pub r#type: Option<String>,
449-
#[serde(skip_serializing_if = "Option::is_none", rename = "userAssignedIdentities")]
450-
pub user_assigned_identities: Option<Map<String, Value>>,
451-
}
452-
453-
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema)]
454-
#[serde(deny_unknown_fields)]
455-
pub struct Sku {
456-
#[serde(skip_serializing_if = "Option::is_none")]
457-
pub name: Option<String>,
458-
#[serde(skip_serializing_if = "Option::is_none")]
459-
pub tier: Option<String>,
460-
#[serde(skip_serializing_if = "Option::is_none")]
461-
pub size: Option<String>,
462-
#[serde(skip_serializing_if = "Option::is_none")]
463-
pub family: Option<String>,
464-
#[serde(skip_serializing_if = "Option::is_none")]
465-
pub capacity: Option<i32>,
466-
}
467-
468430
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema, DscRepoSchema)]
469431
#[serde(deny_unknown_fields, rename_all = "camelCase")]
470432
#[dsc_repo_schema(base_name = "document.resource", folder_path = "config")]
@@ -480,31 +442,15 @@ pub struct Resource {
480442
#[serde(default)]
481443
pub name: String, // friendly unique instance name
482444
#[serde(skip_serializing_if = "Option::is_none")]
483-
pub comments: Option<String>,
484-
#[serde(skip_serializing_if = "Option::is_none")]
485445
pub directives: Option<ResourceDirective>,
486446
#[serde(skip_serializing_if = "Option::is_none")]
487447
pub execution_information: Option<ExecutionInformation>,
488448
#[serde(skip_serializing_if = "Option::is_none")]
489-
pub location: Option<String>,
490-
#[serde(skip_serializing_if = "Option::is_none")]
491449
#[schemars(regex(pattern = r"^\[resourceId\(\s*'[a-zA-Z0-9\.]+/[a-zA-Z0-9]+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)]$"))]
492450
pub depends_on: Option<Vec<String>>,
493451
#[serde(skip_serializing_if = "Option::is_none")]
494-
pub tags: Option<Map<String, Value>>,
495-
#[serde(skip_serializing_if = "Option::is_none")]
496-
pub identity: Option<Identity>,
497-
#[serde(skip_serializing_if = "Option::is_none")]
498-
pub sku: Option<Sku>,
499-
#[serde(skip_serializing_if = "Option::is_none")]
500-
pub kind: Option<String>,
501-
#[serde(skip_serializing_if = "Option::is_none")]
502-
pub scope: Option<String>,
503-
#[serde(skip_serializing_if = "Option::is_none")]
504452
pub copy: Option<Copy>,
505453
#[serde(skip_serializing_if = "Option::is_none")]
506-
pub plan: Option<Plan>,
507-
#[serde(skip_serializing_if = "Option::is_none")]
508454
pub properties: Option<Map<String, Value>>,
509455
#[serde(skip_serializing_if = "Option::is_none")]
510456
pub resources: Option<Vec<Resource>>,
@@ -545,19 +491,11 @@ impl Resource {
545491
depends_on: None,
546492
directives: None,
547493
execution_information: None,
548-
kind: None,
549494
properties: None,
550495
metadata: None,
551496
condition: None,
552-
identity: None,
553-
sku: None,
554-
scope: None,
555497
copy: None,
556-
plan: None,
557498
resources: None,
558-
comments: None,
559-
location: None,
560-
tags: None,
561499
require_version: None,
562500
}
563501
}

lib/dsc-lib/src/configure/mod.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,6 @@ pub fn add_resource_export_results_to_configuration(resource: &DscResource, conf
129129
let mut r: Resource = config_doc::Resource::new();
130130
r.resource_type.clone_from(&resource.type_name);
131131
let mut props: Map<String, Value> = serde_json::from_value(instance.clone())?;
132-
if let Some(kind) = props.remove("_kind") {
133-
if !kind.is_string() {
134-
return Err(DscError::Parser(t!("configure.mod.propertyNotString", name = "_kind", value = kind).to_string()));
135-
}
136-
r.kind = kind.as_str().map(std::string::ToString::to_string);
137-
}
138132
r.name = if let Some(name) = props.remove("_name") {
139133
name.as_str()
140134
.map(std::string::ToString::to_string)
@@ -299,7 +293,7 @@ fn check_security_context(metadata: Option<&Metadata>, directive_security_contex
299293

300294
let mut security_context_required: Option<&SecurityContextKind> = None;
301295
if let Some(metadata) = &metadata
302-
&& let Some(microsoft_dsc) = &metadata.microsoft
296+
&& let Some(microsoft_dsc) = &metadata.microsoft
303297
&& let Some(required_security_context) = &microsoft_dsc.security_context {
304298
warn!("{}", t!("configure.mod.securityContextInMetadataDeprecated"));
305299
security_context_required = Some(required_security_context);

lib/dsc-lib/tests/integration/schemas/schema_for.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ macro_rules! test_schema_for {
4747
test_schema_for!(dsc_lib::configure::config_doc::DataType);
4848
test_schema_for!(dsc_lib::configure::config_doc::CopyMode);
4949
test_schema_for!(dsc_lib::configure::config_doc::Copy);
50-
test_schema_for!(dsc_lib::configure::config_doc::Plan);
51-
test_schema_for!(dsc_lib::configure::config_doc::Identity);
52-
test_schema_for!(dsc_lib::configure::config_doc::Sku);
5350
test_schema_for!(dsc_lib::configure::config_doc::Resource);
5451
}
5552
#[allow(unused_must_use)]

tools/dsctest/src/export.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ pub struct Export {
1010
/// Number of instances to return
1111
pub count: u64,
1212
#[serde(skip_serializing_if = "Option::is_none")]
13-
pub _kind: Option<String>,
14-
#[serde(skip_serializing_if = "Option::is_none")]
1513
pub _name: Option<String>,
1614
#[serde(rename = "_securityContext", skip_serializing_if = "Option::is_none")]
1715
pub _security_context: Option<String>,

tools/dsctest/src/main.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ fn main() {
125125
for i in 0..export.count {
126126
let instance = Export {
127127
count: i,
128-
_kind: Some("TestKind".to_string()),
129128
_name: Some("TestName".to_string()),
130129
_security_context: Some("elevated".to_string()),
131130
};

0 commit comments

Comments
 (0)