diff --git a/lib/dsc-lib/src/dscresources/resource_manifest.rs b/lib/dsc-lib/src/dscresources/resource_manifest.rs index 34d3f070a..c53f57561 100644 --- a/lib/dsc-lib/src/dscresources/resource_manifest.rs +++ b/lib/dsc-lib/src/dscresources/resource_manifest.rs @@ -5,7 +5,7 @@ use rust_i18n::t; use schemars::{Schema, JsonSchema, json_schema}; use semver::Version; use serde::{Deserialize, Serialize}; -use serde_json::Value; +use serde_json::{Map, Value}; use std::collections::HashMap; use crate::{dscerror::DscError, schemas::DscRepoSchema}; @@ -71,6 +71,8 @@ pub struct ResourceManifest { /// Details how to get the schema of the resource. #[serde(skip_serializing_if = "Option::is_none")] pub schema: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub metadata: Option>, } #[derive(Debug, Clone, PartialEq, Deserialize, Serialize, JsonSchema)] diff --git a/lib/dsc-lib/src/extensions/extension_manifest.rs b/lib/dsc-lib/src/extensions/extension_manifest.rs index f43006252..cf8d1b3a9 100644 --- a/lib/dsc-lib/src/extensions/extension_manifest.rs +++ b/lib/dsc-lib/src/extensions/extension_manifest.rs @@ -5,7 +5,7 @@ use rust_i18n::t; use schemars::{Schema, JsonSchema, json_schema}; use semver::Version; use serde::{Deserialize, Serialize}; -use serde_json::Value; +use serde_json::{Map, Value}; use std::collections::HashMap; use crate::{dscerror::DscError, schemas::DscRepoSchema}; @@ -36,6 +36,8 @@ pub struct ExtensionManifest { /// Mapping of exit codes to descriptions. Zero is always success and non-zero is always failure. #[serde(rename = "exitCodes", skip_serializing_if = "Option::is_none")] pub exit_codes: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub metadata: Option>, } impl DscRepoSchema for ExtensionManifest {