[Abstract, ClassVersion("1.0.0")] class OMI_BaseResource { [required] string ResourceId; [write] string SourceInfo; [write] string DependsOn[]; [required] string ModuleName; [required] string ModuleVersion; [write] string ConfigurationName; }; [Abstract, ClassVersion("1.0.0")] class MSFT_KeyValuePair { [Key] string Key; [write] string Value; }; [Abstract, ClassVersion("1.0.0")] class MSFT_BaseConfigurationProviderRegistration { [key] String ClassName; String DSCEngineCompatVersion; String DSCModuleVersion; }; [ClassVersion("1.0.0")] class MSFT_CimConfigurationProviderRegistration : MSFT_BaseConfigurationProviderRegistration { String Namespace; }; [ClassVersion("1.0.0")] class MSFT_PSConfigurationProviderRegistration : MSFT_BaseConfigurationProviderRegistration { String ModuleName; }; [ClassVersion("1.0.0")] class OMI_ConfigurationDocument { String Version; String Author; String Copyright; String HelpInfoUri; String ContentType; String GenerationDate; String GenerationHost; String Name; String MinimumCompatibleVersion; String CompatibleVersionAdditionalProperties[]; String DocumentType; }; [ClassVersion("1.0.0")] class MSFT_Credential { [MaxLen ( 256 )] string UserName; string Password; }; // =============================================================== // OMI_MetaConfigurationResource // =============================================================== [ClassVersion("1.0.0"), Description ( "Base schema for all Metaconfiguration resources." )] class OMI_MetaConfigurationResource { [required] string ResourceId; [write] string SourceInfo; }; // =============================================================== // Configuration Download Manager // =============================================================== [ClassVersion("1.0.0"), Description("Class defining the configuration download manager" ) ] class OMI_ConfigurationDownloadManager : OMI_MetaConfigurationResource { }; [ClassVersion("1.0.0"), Description("Web download manager class inheriting from OMI_ConfigurationDownloadManager" )] class MSFT_WebDownloadManager : OMI_ConfigurationDownloadManager { [Description ("String URL of the download manager location" ) , Key] string ServerURL; [Description ("The certificate ID used to locate the certificate." ) ] string CertificateID; [Description ("Boolean variable to allow unsecure connections" ) ] boolean AllowUnsecureConnection; [Description ("Registration Key with which to register with the Pull Server" ) ] string RegistrationKey; [Description ("The set of configuration names with which to register with the Pull Server.")] string ConfigurationNames[]; }; // =============================================================== // Report Managers // =============================================================== [ClassVersion("1.0.0"), Description("Class defining a report manager") ] class OMI_ReportManager : OMI_MetaConfigurationResource { }; [ClassVersion("1.0.0"), Description("Web report manager class inheriting from OMI_ReportManager class") ] class MSFT_WebReportManager : OMI_ReportManager { [Description ("URL of the server used by report manager." ) , Key] string ServerURL; [Description ("The certificate ID used to locate the certificate for secure connections." ) ] string CertificateID; [Description("Specifies whether report manager can use unsecure connection over http.")] boolean AllowUnsecureConnection; [Description ("Registration Key with which to register with the Reporting Server" ) ] string RegistrationKey; }; // =============================================================== // ResourceModule Managers // =============================================================== [ClassVersion("1.0.0"), Description("Class defining the structure of resource module managers") ] class OMI_ResourceModuleManager : OMI_MetaConfigurationResource { }; [ClassVersion("1.0.0"), Description("Web resource module manager class inheriting from OMI_ResourceModuleManager") ] class MSFT_WebResourceManager : OMI_ResourceModuleManager { [Description ("String URL of the resource module manager location" ) , Key] string ServerURL; [Description ("The certificate ID used to locate the certificate." ) ] string CertificateID; [Description ("Boolean variable to allow unsecure connections" ) ] boolean AllowUnsecureConnection; [Description ("Registration Key with which to register with the Resource Repository Web" ) ] string RegistrationKey; }; [ClassVersion("1.0.0"), Description("File resource module manager class inheriting from OMI_ResourceModuleManager class") ] class MSFT_FileResourceManager : OMI_ResourceModuleManager { [Description ("String UNC path of the File resource manager" ) , Key] string SourcePath; [EmbeddedInstance("MSFT_Credential"), Description ("Default credential to access resources." ) ] string Credential; }; [Description( "This represents a Partial Configuration class."), ClassVersion("1.0.0")] class MSFT_PartialConfiguration : OMI_MetaConfigurationResource { [Description ("Description of the partial configuration" ) , Write] String Description ; [Description ("Defines the resources that are exclusive to this particular partial configuration" ) , Write] String ExclusiveResources[]; [Description ("The configuration repository source that this partial configuration will use" ) , Write] String ConfigurationSource[]; [Description ("The resource module repository source that this partial configuration will use" ) , Write] String ResourceModuleSource[]; [Description ("A dependency variable indicating which partial configuration must be applied prior to this" ) , Write] String DependsOn[]; [Description ("The refresh mode for the server. Valid values are Pull, Push and Disabled." ) , ValueMap {"Push","Pull","Disabled"}, Values {"Push","Pull","Disabled"}] string RefreshMode; };