#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\DesiredStateConfiguration")
instance of __namespace{ name="MS_809";};
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\DesiredStateConfiguration\\MS_809")

[Version("2.22.1") : Amended,Description("CIM_Error is a specialized class that contains information about the severity, cause, recommended actions and other data related to the failure of a CIM Operation. Instances of this type MAY be included as part of the response to a CIM Operation.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class CIM_Error
{
  [Description("Primary classification of the error. The following values are defined: \n2 - Communications Error. Errors of this type are principally associated with the procedures and/or processes required to convey information from one point to another. \n3 - Quality of Service Error. Errors of this type are principally associated with failures that result in reduced functionality or performance. \n4 - Software Error. Error of this type are principally associated with a software or processing fault. \n5 - Hardware Error. Errors of this type are principally associated with an equipment or hardware failure. \n6 - Environmental Error. Errors of this type are principally associated with a failure condition relating the to facility, or other environmental considerations. \n7 - Security Error. Errors of this type are associated with security violations, detection of viruses, and similar issues. \n8 - Oversubscription Error. Errors of this type are principally associated with the failure to allocate sufficient resources to complete the operation. \n9 - Unavailable Resource Error. Errors of this type are principally associated with the failure to access a required resource. \n10 -Unsupported Operation Error. Errors of this type are principally associated with requests that are not supported.") : Amended ToSubclass,Values{"Unknown", "Other", "Communications Error", "Quality of Service Error", "Software Error", "Hardware Error", "Environmental Error", "Security Error", "Oversubscription Error", "Unavailable Resource Error", "Unsupported Operation Error", "DMTF Reserved"} : Amended ToSubclass] uint16 ErrorType;
  [Description("A free-form string describing the ErrorType when 1, \"Other\", is specified as the ErrorType.") : Amended ToSubclass] string OtherErrorType;
  [Description("A string that uniquely identifies the entity that owns the definition of the format of the Message described in this instance. OwningEntity MUST include a copyrighted, trademarked or otherwise unique name that is owned by the business entity or standards body defining the format.") : Amended ToSubclass] string OwningEntity;
  [Description("An opaque string that uniquely identifies, within the scope of the OwningEntity, the format of the Message.") : Amended ToSubclass] string MessageID;
  [Description("The formatted message. This message is constructed by combining some or all of the dynamic elements specified in the MessageArguments property with the static elements uniquely identified by the MessageID in a message registry or other catalog associated with the OwningEntity.") : Amended ToSubclass] string Message;
  [Description("An array containing the dynamic content of the message.") : Amended ToSubclass] string MessageArguments[];
  [Description("An enumerated value that describes the severity of the Indication from the notifier\\'s point of view: \n0 - the Perceived Severity of the indication is unknown or indeterminate. \n1 - Other, by CIM convention, is used to indicate that the Severity\\'s value can be found in the OtherSeverity property. \n2 - Information should be used when providing an informative response. \n3 - Degraded/Warning should be used when its appropriate to let the user decide if action is needed. \n4 - Minor should be used to indicate action is needed, but the situation is not serious at this time. \n5 - Major should be used to indicate action is needed NOW. \n6 - Critical should be used to indicate action is needed NOW and the scope is broad (perhaps an imminent outage to a critical resource will result). \n7 - Fatal/NonRecoverable should be used to indicate an error occurred, but it\\'s too late to take remedial action. \n2 and 0 - Information and Unknown (respectively) follow common usage. Literally, the Error is purely informational or its severity is simply unknown.") : Amended ToSubclass,Values{"Unknown", "Other", "Information", "Degraded/Warning", "Minor", "Major", "Critical", "Fatal/NonRecoverable", "DMTF Reserved"} : Amended ToSubclass] uint16 PerceivedSeverity;
  [Description("An enumerated value that describes the probable cause of the error.") : Amended ToSubclass,Values{"Unknown", "Other", "Adapter/Card Error", "Application Subsystem Failure", "Bandwidth Reduced", "Connection Establishment Error", "Communications Protocol Error", "Communications Subsystem Failure", "Configuration/Customization Error", "Congestion", "Corrupt Data", "CPU Cycles Limit Exceeded", "Dataset/Modem Error", "Degraded Signal", "DTE-DCE Interface Error", "Enclosure Door Open", "Equipment Malfunction", "Excessive Vibration", "File Format Error", "Fire Detected", "Flood Detected", "Framing Error", "HVAC Problem", "Humidity Unacceptable", "I/O Device Error", "Input Device Error", "LAN Error", "Non-Toxic Leak Detected", "Local Node Transmission Error", "Loss of Frame", "Loss of Signal", "Material Supply Exhausted", "Multiplexer Problem", "Out of Memory", "Output Device Error", "Performance Degraded", "Power Problem", "Pressure Unacceptable", "Processor Problem (Internal Machine Error)", "Pump Failure", "Queue Size Exceeded", "Receive Failure", "Receiver Failure", "Remote Node Transmission Error", "Resource at or Nearing Capacity", "Response Time Excessive", "Retransmission Rate Excessive", "Software Error", "Software Program Abnormally Terminated", "Software Program Error (Incorrect Results)", "Storage Capacity Problem", "Temperature Unacceptable", "Threshold Crossed", "Timing Problem", "Toxic Leak Detected", "Transmit Failure", "Transmitter Failure", "Underlying Resource Unavailable", "Version Mismatch", "Previous Alert Cleared", "Login Attempts Failed", "Software Virus Detected", "Hardware Security Breached", "Denial of Service Detected", "Security Credential Mismatch", "Unauthorized Access", "Alarm Received", "Loss of Pointer", "Payload Mismatch", "Transmission Error", "Excessive Error Rate", "Trace Problem", "Element Unavailable", "Element Missing", "Loss of Multi Frame", "Broadcast Channel Failure", "Invalid Message Received", "Routing Failure", "Backplane Failure", "Identifier Duplication", "Protection Path Failure", "Sync Loss or Mismatch", "Terminal Problem", "Real Time Clock Failure", "Antenna Failure", "Battery Charging Failure", "Disk Failure", "Frequency Hopping Failure", "Loss of Redundancy", "Power Supply Failure", "Signal Quality Problem", "Battery Discharging", "Battery Failure", "Commercial Power Problem", "Fan Failure", "Engine Failure", "Sensor Failure", "Fuse Failure", "Generator Failure", "Low Battery", "Low Fuel", "Low Water", "Explosive Gas", "High Winds", "Ice Buildup", "Smoke", "Memory Mismatch", "Out of CPU Cycles", "Software Environment Problem", "Software Download Failure", "Element Reinitialized", "Timeout", "Logging Problems", "Leak Detected", "Protection Mechanism Failure", "Protecting Resource Failure", "Database Inconsistency", "Authentication Failure", "Breach of Confidentiality", "Cable Tamper", "Delayed Information", "Duplicate Information", "Information Missing", "Information Modification", "Information Out of Sequence", "Key Expired", "Non-Repudiation Failure", "Out of Hours Activity", "Out of Service", "Procedural Error", "Unexpected Information", "DMTF Reserved"} : Amended ToSubclass] uint16 ProbableCause;
  [Description("A free-form string describing the probable cause of the error.") : Amended ToSubclass] string ProbableCauseDescription;
  [Description("A free-form string describing recommended actions to take to resolve the error.") : Amended ToSubclass] string RecommendedActions[];
  [Description("The identifying information of the entity (i.e., the instance) generating the error. If this entity is modeled in the CIM Schema, this property contains the path of the instance encoded as a string parameter. If not modeled, the property contains some identifying string that names the entity that generated the error. The path or identifying string is formatted per the ErrorSourceFormat property.") : Amended ToSubclass] string ErrorSource;
  [Description("The format of the ErrorSource property is interpretable based on the value of this property. Values are defined as: \n0 - Unknown. The format is unknown or not meaningfully interpretable by a CIM client application. \n1 - Other. The format is defined by the value of the OtherErrorSourceFormat property.2 - CIMObjectPath. A CIM Object Path as defined in the CIM Infrastructure specification. Note: CIM 2.5 and earlier used the term object names.") : Amended ToSubclass,Values{"Unknown", "Other", "CIMObjectPath", "DMTF Reserved"} : Amended ToSubclass] uint16 ErrorSourceFormat;
  [Description("A string defining \"Other\" values for ErrorSourceFormat. This value MUST be set to a non NULL value when ErrorSourceFormat is set to a value of 1 (\"Other\"). For all other values of ErrorSourceFormat, the value of this string must be set to NULL.") : Amended ToSubclass] string OtherErrorSourceFormat;
  [Description("The CIM status code that characterizes this instance. \nThis property defines the status codes that MAY be return by a conforming CIM Server or Listener. Note that not all status codes are valid for each operation. The specification for each operation SHOULD define the status codes that may be returned by that operation. \nThe following values for CIM status code are defined: \n1 - CIM_ERR_FAILED. A general error occurred that is not covered by a more specific error code. \n2 - CIM_ERR_ACCESS_DENIED. Access to a CIM resource was not available to the client. \n3 - CIM_ERR_INVALID_NAMESPACE. The target namespace does not exist. \n4 - CIM_ERR_INVALID_PARAMETER. One or more parameter values passed to the method were invalid. \n5 - CIM_ERR_INVALID_CLASS. The specified Class does not exist. \n6 - CIM_ERR_NOT_FOUND. The requested object could not be found. \n7 - CIM_ERR_NOT_SUPPORTED. The requested operation is not supported. \n8 - CIM_ERR_CLASS_HAS_CHILDREN. Operation cannot be carried out on this class since it has instances. \n9 - CIM_ERR_CLASS_HAS_INSTANCES. Operation cannot be carried out on this class since it has instances. \n10 - CIM_ERR_INVALID_SUPERCLASS. Operation cannot be carried out since the specified superclass does not exist. \n11 - CIM_ERR_ALREADY_EXISTS. Operation cannot be carried out because an object already exists. \n12 - CIM_ERR_NO_SUCH_PROPERTY. The specified Property does not exist. \n13 - CIM_ERR_TYPE_MISMATCH. The value supplied is incompatible with the type. \n14 - CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED. The query language is not recognized or supported. \n15 - CIM_ERR_INVALID_QUERY. The query is not valid for the specified query language. \n16 - CIM_ERR_METHOD_NOT_AVAILABLE. The extrinsic Method could not be executed. \n17 - CIM_ERR_METHOD_NOT_FOUND. The specified extrinsic Method does not exist. \n18 - CIM_ERR_UNEXPECTED_RESPONSE. The returned response to the asynchronous operation was not expected. \n19 - CIM_ERR_INVALID_RESPONSE_DESTINATION. The specified destination for the asynchronous response is not valid. \n20 - CIM_ERR_NAMESPACE_NOT_EMPTY. The specified Namespace is not empty.\n21 - CIM_ERR_INVALID_ENUMERATION_CONTEXT. The enumeration context supplied is not valid.\n22 - CIM_ERR_INVALID_OPERATION_TIMEOUT. The specified Namespace is not empty.\n23 - CIM_ERR_PULL_HAS_BEEN_ABANDONED. The specified Namespace is not empty.\n24 - CIM_ERR_PULL_CANNOT_BE_ABANDONED. The attempt to abandon a pull operation has failed.\n25 - CIM_ERR_FILTERED_ENUMERATION_NOT_SUPPORTED. Filtered Enumeratrions are not supported.\n26 - CIM_ERR_CONTINUATION_ON_ERROR_NOT_SUPPORTED. Continue on error is not supported.\n27 - CIM_ERR_SERVER_LIMITS_EXCEEDED. The WBEM Server limits have been exceeded (e.g. memory, connections, ...).\n28 - CIM_ERR_SERVER_IS_SHUTTING_DOWN. The WBEM Server is shutting down.\n29 - CIM_ERR_QUERY_FEATURE_NOT_SUPPORTED. The specified Query Feature is not supported.") : Amended ToSubclass,Values{"CIM_ERR_FAILED", "CIM_ERR_ACCESS_DENIED", "CIM_ERR_INVALID_NAMESPACE", "CIM_ERR_INVALID_PARAMETER", "CIM_ERR_INVALID_CLASS", "CIM_ERR_NOT_FOUND", "CIM_ERR_NOT_SUPPORTED", "CIM_ERR_CLASS_HAS_CHILDREN", "CIM_ERR_CLASS_HAS_INSTANCES", "CIM_ERR_INVALID_SUPERCLASS", "CIM_ERR_ALREADY_EXISTS", "CIM_ERR_NO_SUCH_PROPERTY", "CIM_ERR_TYPE_MISMATCH", "CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED", "CIM_ERR_INVALID_QUERY", "CIM_ERR_METHOD_NOT_AVAILABLE", "CIM_ERR_METHOD_NOT_FOUND", "CIM_ERR_UNEXPECTED_RESPONSE", "CIM_ERR_INVALID_RESPONSE_DESTINATION", "CIM_ERR_NAMESPACE_NOT_EMPTY", "CIM_ERR_INVALID_ENUMERATION_CONTEXT", "CIM_ERR_INVALID_OPERATION_TIMEOUT", "CIM_ERR_PULL_HAS_BEEN_ABANDONED", "CIM_ERR_PULL_CANNOT_BE_ABANDONED", "CIM_ERR_FILTERED_ENUMERATION_NOT_SUPPORTED", "CIM_ERR_CONTINUATION_ON_ERROR_NOT_SUPPORTED", "CIM_ERR_SERVER_LIMITS_EXCEEDED", "CIM_ERR_SERVER_IS_SHUTTING_DOWN", "CIM_ERR_QUERY_FEATURE_NOT_SUPPORTED", "DMTF Reserved"} : Amended ToSubclass] uint32 CIMStatusCode;
  [Description("A free-form string containing a human-readable description of CIMStatusCode. This description MAY extend, but MUST be consistent with, the definition of CIMStatusCode.") : Amended ToSubclass] string CIMStatusCodeDescription;
};

[Description("Credential to use for DSC configuration providers.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_Credential
{
  [Description("UserName is the name of the user that an authorization service maps to an identity.") : Amended ToSubclass] string UserName;
  [Description("The UserPassword property may contain a password used to access resources.") : Amended ToSubclass] string Password;
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputReboot : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputResult : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWhatIf : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWriteArray : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWriteError : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWriteMessage : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWriteObject : MSFT_DSCConfigurationOutput
{
};

[Description("Resulting streamed output from GetConfigurationResultOutput method.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationOutputWriteProgress : MSFT_DSCConfigurationOutput
{
};

[Description("Class for holding propertis of configuration status object.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCConfigurationStatus
{
  [Description("Status of configuration.") : Amended ToSubclass,Values{"Success", "Failure", "Aborted", "InProgress"} : Amended ToSubclass] string Status;
  [Description("Error encountered in local configuration manager during configuration.") : Amended ToSubclass] string Error;
  [Description("Date and time when the configuration was started.") : Amended ToSubclass] datetime StartDate;
  [Description("Time taken to process entire configuration.") : Amended ToSubclass] uint32 DurationInSeconds;
  [Description("Reboot was requested during configuration.") : Amended ToSubclass] boolean RebootRequested;
  [Description("Type of Configuration.") : Amended ToSubclass,Values{"Initial", "Consistency", "Reboot", "ReadOnly", "LocalConfigurationManager"} : Amended ToSubclass] string Type;
  [Description("Job ID associated with configuration.") : Amended ToSubclass] string JobID;
  [Description("Meta data of configuration.") : Amended ToSubclass] string MetaData;
  [Description("Total number of resources in configuration.") : Amended ToSubclass] uint32 NumberOfResources;
  [Description("Mode of configuration.") : Amended ToSubclass,Values{"Push", "Pull", "Disabled"} : Amended ToSubclass] string Mode;
  [Description("Version of LCM at time of configuration.") : Amended ToSubclass] string LCMVersion;
  [Description("NetBIOS name of node at time of configuration.") : Amended ToSubclass] string HostName;
  [Description("IP Address of node at time of configuration.") : Amended ToSubclass] string IPV4Addresses[];
  [Description("IP Address of node at time of configuration.") : Amended ToSubclass] string IPV6Addresses[];
  [Description("MAC address of node at time of configuration.") : Amended ToSubclass] string MACAddresses[];
  [Description("Meta-Configuration information at time of configuration.") : Amended ToSubclass] MSFT_DSCMetaConfiguration MetaConfiguration;
  [Description("Resources successfully configured in the configuration.") : Amended ToSubclass] MSFT_ResourceInDesiredState ResourcesInDesiredState[];
  [Description("Resources failed in the configuration.") : Amended ToSubclass] MSFT_ResourceNotInDesiredState ResourcesNotInDesiredState[];
  [Description("Resources changed state in the configuration.") : Amended ToSubclass] MSFT_ResourceChanged ResourcesChanged[];
  [Description("Locale of the node running the configuration.") : Amended ToSubclass] string Locale;
};

[Description("Local Configuration Manager that controls the states of configuration files and uses Configuration Agent to apply the configurations.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCLocalConfigurationManager
{
  [Description("Send the configuration document to the managed node and save it as pending.") : Amended ToSubclass] uint32 SendConfiguration([In] uint8 ConfigurationData[],[In] boolean force);
  [Description("Send the configuration document to the managed node and use Configuration Agent to apply the configuration.") : Amended ToSubclass] uint32 SendConfigurationApply([In] uint8 ConfigurationData[],[In] boolean force);
  [Description("Send the configuration document to the managed node and use Configuration Agent to apply the configuration using the Get method.") : Amended ToSubclass] uint32 GetConfiguration([In] uint8 configurationData[],[Out] OMI_BaseResource configurations[]);
  [Description("Send the configuration document to the managed node and test it against the current configuration.") : Amended ToSubclass] uint32 TestConfiguration([In] uint8 configurationData[],[Out] boolean InDesiredState,[Out] MSFT_ResourceInDesiredState ResourcesInDesiredState[],[Out] MSFT_ResourceNotInDesiredState ResourcesNotInDesiredState[]);
  [Description("Use Configuration Agent to apply the configuration.") : Amended ToSubclass] uint32 ApplyConfiguration([In] boolean force);
  [Description("Set Local Configuration Manager settings that are used to control Configuration Agent.") : Amended ToSubclass] uint32 SendMetaConfigurationApply([In] uint8 ConfigurationData[],[In] boolean force);
  [Description("Get Local Configuration Manager settings that are used to control Configuration Agent.") : Amended ToSubclass] uint32 GetMetaConfiguration([Out] MSFT_DSCMetaConfiguration MetaConfiguration);
  [Description("Rollback to previous configuration.") : Amended ToSubclass] uint32 RollBack([In] uint8 configurationNumber);
  [Description("Starts the consistency check.") : Amended ToSubclass] uint32 PerformRequiredConfigurationChecks([In] uint32 Flags);
  [Description("Stopping the configuration in progress.") : Amended ToSubclass] uint32 StopConfiguration([In] boolean force);
  [Description("Get the configuration status history.") : Amended ToSubclass] uint32 GetConfigurationStatus([In] boolean All,[Out] MSFT_DSCConfigurationStatus configurationStatus[]);
  [Description("Send the configuration document to the managed node and start using the Configuration Agent to apply the configuration. Use GetConfigurationResultOutput to retrieve result output.") : Amended ToSubclass] uint32 SendConfigurationApplyAsync([In] uint8 ConfigurationData[],[In] boolean force,[In] string jobId);
  [Description("Retrieve the Configuration Agent output relating to a specific job.") : Amended ToSubclass] uint32 GetConfigurationResultOutput([In] string jobId,[In] uint8 resumeOutputBookmark[],[Out] MSFT_DSCConfigurationOutput output[]);
  [Description("Removing the configuration files.") : Amended ToSubclass] uint32 RemoveConfiguration([In] uint32 Stage,[In] boolean Force);
  [Description("Execute Get on a provider directly") : Amended ToSubclass] uint32 ResourceGet([In] string ResourceType,[In] string ModuleName,[In] uint8 resourceProperty[],[Out] OMI_BaseResource configurations);
  [Description("Execute Set on a provider directly") : Amended ToSubclass] uint32 ResourceSet([In] string ResourceType,[In] string ModuleName,[In] uint8 resourceProperty[],[Out] boolean RebootRequired);
  [Description("Execute Test on a provider directly") : Amended ToSubclass] uint32 ResourceTest([In] string ResourceType,[In] string ModuleName,[In] uint8 resourceProperty[],[Out] boolean InDesiredState);
  [Description("Enable Debug DSC Configuration.") : Amended ToSubclass] uint32 EnableDebugConfiguration([In] boolean BreakAll);
  [Description("Disable Debug DSC Configuration.") : Amended ToSubclass] uint32 DisableDebugConfiguration();
};

[Description("Local Configuration Manager settings.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCMetaConfiguration
{
  [Description("The time interval between consecutive runs for reapplying the configuration to get to the desired state.") : Amended ToSubclass] uint32 ConfigurationModeFrequencyMins;
  [Description("Reboot node if needed.") : Amended ToSubclass] boolean RebootNodeIfNeeded;
  [Description("The configuration apply mode for the server.") : Amended ToSubclass,Values{"ApplyOnly", "ApplyAndMonitor", "ApplyAndAutoCorrect", "MonitorOnly"} : Amended ToSubclass] string ConfigurationMode;
  [Description("The action after reboot the server.") : Amended ToSubclass,Values{"ContinueConfiguration", "StopConfiguration"} : Amended ToSubclass] string ActionAfterReboot;
  [Description("Default credential to access resources.") : Amended ToSubclass] MSFT_Credential Credential;
  [Description("The refresh mode for the server. Valid values are Pull, Push and Disabled.") : Amended ToSubclass,Values{"Push", "Pull", "Disabled"} : Amended ToSubclass] string RefreshMode;
  [Description("The certificate ID used to locate the certificate.") : Amended ToSubclass] string CertificateID;
  [Description("The configuration ID used to get the configuration from the pull server.") : Amended ToSubclass] string ConfigurationID;
  [Description("Name of the configuration and module Download Manager.") : Amended ToSubclass] string DownloadManagerName;
  [Description("Custom data that is specific to Download Manager.") : Amended ToSubclass] MSFT_KeyValuePair DownloadManagerCustomData[];
  [Description("The time interval between consecutive runs to get the action from the server.") : Amended ToSubclass] uint32 RefreshFrequencyMins;
  [Description("Overwrite modules when downloading from Pull Server.") : Amended ToSubclass] boolean AllowModuleOverwrite;
  [Description("The enumeration for DebugMode.") : Amended ToSubclass,Values{"None", "ForceModuleImport", "All", "ResourceScriptBreakAll"} : Amended ToSubclass] string DebugMode[];
  [Description("Current version of local configuration manager.") : Amended ToSubclass] string LCMVersion;
  [Description("Compatible versions of current local configuration manager.") : Amended ToSubclass] string LCMCompatibleVersions[];
  [Description("Current state of local configuration manager.") : Amended ToSubclass,Values{"Idle", "Busy", "PendingReboot", "PendingConfiguration"} : Amended ToSubclass] string LCMState;
  [Description("State detail of local configuration manager.") : Amended ToSubclass] string LCMStateDetail;
  [Description("Array of configuration download manager objects that contain location information to download configurations") : Amended ToSubclass] OMI_ConfigurationDownloadManager ConfigurationDownloadManagers[];
  [Description("Array of resource module managers pointing to a location to download missing DSCResources") : Amended ToSubclass] OMI_ResourceModuleManager ResourceModuleManagers[];
  [Description("Array of report managers pointing to a location that would help generate reports for DSC") : Amended ToSubclass] OMI_ReportManager ReportManagers[];
  [Description("Array of partial configurations that are specified to be applied") : Amended ToSubclass] MSFT_PartialConfiguration PartialConfigurations[];
  [Description("Number of days to retain configuration status history.") : Amended ToSubclass] uint32 StatusRetentionTimeInDays;
  [Description("AgentId of the current Dsc Agent.") : Amended ToSubclass] string AgentId;
  [Description("Current signature validation policy.") : Amended ToSubclass] string SignatureValidationPolicy;
  [Description("The signature validation options of the node.") : Amended ToSubclass] MSFT_SignatureValidation SignatureValidations[];
  [Description("The maximum module size in MB that can be downloaded.") : Amended ToSubclass] uint32 MaximumDownloadSizeMB;
};

[Description("Message for incoming requests to DSC.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCMethodInvoked
{
  [Description("An unique identifier of client.") : Amended ToSubclass] string Guid;
};

[Description("Base schema for all native configuration providers.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class OMI_BaseResource
{
  [Description("Unique Id for a resource instance.") : Amended ToSubclass] string ResourceId;
  [Description("Source Info to correlate it back to powershell configuration script.") : Amended ToSubclass] string SourceInfo;
  [Description("List of resources this resource depends on.") : Amended ToSubclass] string DependsOn[];
  [Description("Name of the module that supports this resource.") : Amended ToSubclass] string ModuleName;
  [Description("Version  of the module that supports this resource.") : Amended ToSubclass] string ModuleVersion;
  [Description("Name of the configuration this is a part of") : Amended ToSubclass] string ConfigurationName;
  [Description("Credentials under which the resource runs. ") : Amended ToSubclass] MSFT_Credential PsDscRunAsCredential;
};

[Description("Class for holding properties of a resource object.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_DSCResource : OMI_BaseResource
{
  [Description("Unique Id for a resource instance.") : Amended ToSubclass] string ResourceId;
  [Description("Source Info to correlate it back to powershell configuration script.") : Amended ToSubclass] string SourceInfo;
  [Description("List of resources this resource depends on.") : Amended ToSubclass] string DependsOn[];
  [Description("Name of the module that supports this resource.") : Amended ToSubclass] string ModuleName;
  [Description("Version  of the module that supports this resource.") : Amended ToSubclass] string ModuleVersion;
  [Description("Name of the configuration this is a part of") : Amended ToSubclass] string ConfigurationName;
  [Description("The resource name like File.") : Amended ToSubclass] string ResourceName;
  [Description("The instance name like file1.") : Amended ToSubclass] string InstanceName;
  [Description("Field to display whether the resource is in desired state.") : Amended ToSubclass] boolean InDesiredState;
  [Description("Field to display whether the resource changed its state.") : Amended ToSubclass] boolean StateChanged;
  [Description("Date and time when the resource was started.") : Amended ToSubclass] datetime StartDate;
  [Description("Time taken to process resource.") : Amended ToSubclass] real64 DurationInSeconds;
  [Description("Reboot was requested for resource.") : Amended ToSubclass] boolean RebootRequested;
  [Description("Initial property values of the resource before it is enacted.") : Amended ToSubclass] string InitialState;
  [Description("Final property values of the resource after it is enacted.") : Amended ToSubclass] string FinalState;
  [Description("Error returned by the provider.") : Amended ToSubclass] string Error;
};

[Description("Base schema for all Metaconfiguration resources.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class OMI_MetaConfigurationResource
{
};

[Description("Class defining the configuration download manager") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class OMI_ConfigurationDownloadManager : OMI_MetaConfigurationResource
{
};

[Description("File configuration download manager class inheriting from OMI_ConfigurationDownloadManager") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_FileDownloadManager : OMI_ConfigurationDownloadManager
{
  [Description("String UNC source path of the download manager location") : Amended ToSubclass,key] string SourcePath;
  [Description("Default credential to access the file location") : Amended ToSubclass] MSFT_Credential Credential;
};

[Description("Class defining the structure of resource module managers") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class OMI_ResourceModuleManager : OMI_MetaConfigurationResource
{
};

[Description("File resource module manager class inheriting from OMI_ResourceModuleManager class") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_FileResourceManager : OMI_ResourceModuleManager
{
  [Description("String UNC path of the File resource manager") : Amended ToSubclass,key] string SourcePath;
  [Description("Default credential to access resources.") : Amended ToSubclass] MSFT_Credential Credential;
};

[Description("This represents a key-value pair.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_KeyValuePair
{
};

[Description("This represents a Partial Configuration class.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_PartialConfiguration : OMI_MetaConfigurationResource
{
  [Description("Description of the partial configuration") : Amended ToSubclass] string Description;
  [Description("Defines the resources that are exclusive to this particular partial configuration") : Amended ToSubclass] string ExclusiveResources[];
  [Description("The configuration repository source that this partial configuration will use") : Amended ToSubclass] string ConfigurationSource[];
  [Description("The resource module repository source that this partial configuration will use") : Amended ToSubclass] string ResourceModuleSource[];
  [Description("A dependency variable indicating which partial configuration must be applied prior to this") : Amended ToSubclass] string DependsOn[];
  [Description("The refresh mode for the server. Valid values are Pull, Push and Disabled.") : Amended ToSubclass,Values{"Push", "Pull", "Disabled"} : Amended ToSubclass] string RefreshMode;
};

[Description("Class for holding properties of a resource object that changed state during current interval.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_ResourceChanged : MSFT_DSCResource
{
};

[Description("Class for holding properties of a resource object in desired state.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_ResourceInDesiredState : MSFT_DSCResource
{
};

[Description("Class for holding properties of a resource object not in desired state.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_ResourceNotInDesiredState : MSFT_DSCResource
{
};

[Description("The signature validation type.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_SignatureValidation : OMI_MetaConfigurationResource
{
  [Description("The path to the trusted publisher store used to validate the signature of the mof document or modules.") : Amended ToSubclass] string TrustedStorePath;
  [Description("The configuration apply mode for the server.") : Amended ToSubclass,Values{"Configuration", "Module"} : Amended ToSubclass] string SignedItemType[];
};

[Description("Web download manager class inheriting from OMI_ConfigurationDownloadManager") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_WebDownloadManager : OMI_ConfigurationDownloadManager
{
  [Description("String URL of the download manager location") : Amended ToSubclass,key] string ServerURL;
  [Description("The certificate ID used to locate the certificate.") : Amended ToSubclass] string CertificateID;
  [Description("Boolean variable to allow unsecure connections") : Amended ToSubclass] boolean AllowUnsecureConnection;
  [Description("Registration Key with which to register with the Pull Server") : Amended ToSubclass] string RegistrationKey;
  [Description("The set of configuration names with which to register with the Pull Server.") : Amended ToSubclass] string ConfigurationNames[];
  [Description("String URL of the proxy server") : Amended ToSubclass] string ProxyURL;
  [Description("Credential to access the proxy server") : Amended ToSubclass] MSFT_Credential ProxyCredential;
};

[Description("Class defining a report manager") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class OMI_ReportManager : OMI_MetaConfigurationResource
{
};

[Description("Web report manager class inheriting from OMI_ReportManager class") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_WebReportManager : OMI_ReportManager
{
  [Description("URL of the server used by report manager.") : Amended ToSubclass,key] string ServerURL;
  [Description("The certificate ID used to locate the certificate for secure connections.") : Amended ToSubclass] string CertificateID;
  [Description("Specifies whether report manager can use unsecure connection over http.") : Amended ToSubclass] boolean AllowUnsecureConnection;
  [Description("Registration Key with which to register with the Reporting Server") : Amended ToSubclass] string RegistrationKey;
  [Description("String URL of the proxy server") : Amended ToSubclass] string ProxyURL;
  [Description("Credential to access the proxy server") : Amended ToSubclass] MSFT_Credential ProxyCredential;
};

[Description("Web resource module manager class inheriting from OMI_ResourceModuleManager") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_WebResourceManager : OMI_ResourceModuleManager
{
  [Description("String URL of the resource module manager location") : Amended ToSubclass,key] string ServerURL;
  [Description("The certificate ID used to locate the certificate.") : Amended ToSubclass] string CertificateID;
  [Description("Boolean variable to allow unsecure connections") : Amended ToSubclass] boolean AllowUnsecureConnection;
  [Description("Registration Key with which to register with the Resource Repository Web") : Amended ToSubclass] string RegistrationKey;
  [Description("String URL of the proxy server") : Amended ToSubclass] string ProxyURL;
  [Description("Credential to access the proxy server") : Amended ToSubclass] MSFT_Credential ProxyCredential;
};

[Description("OMI_Error is a class used to report errors in the OMI infrastructure and components built on that infrastructure.") : Amended ToSubclass,Version("2.22.1") : Amended,AMENDMENT, LOCALE("MS_809")] 
class OMI_Error : CIM_Error
{
  [Description("Application-specific error code") : Amended ToSubclass] uint32 error_Code;
  [Description("The name of the error type, for example : 'HRESULT' or 'MI_RESULT' or 'Win32'") : Amended ToSubclass] string error_Type;
  [Description("Enumeration corresponding to the category enum in MI.h") : Amended ToSubclass,Values{"MI_ERRORCATEGORY_NOT_SPECIFIED", "MI_ERRORCATEGORY_OPEN_ERROR", "MI_ERRORCATEGORY_CLOSE_EERROR", "MI_ERRORCATEGORY_DEVICE_ERROR", "MI_ERRORCATEGORY_DEADLOCK_DETECTED", "MI_ERRORCATEGORY_INVALID_ARGUMENT", "MI_ERRORCATEGORY_INVALID_DATA", "MI_ERRORCATEGORY_INVALID_OPERATION", "MI_ERRORCATEGORY_INVALID_RESULT", "MI_ERRORCATEGORY_INVALID_TYPE", "MI_ERRORCATEGORY_METADATA_ERROR", "MI_ERRORCATEGORY_NOT_IMPLEMENTED", "MI_ERRORCATEGORY_NOT_INSTALLED", "MI_ERRORCATEGORY_OBJECT_NOT_FOUND", "MI_ERRORCATEGORY_OPERATION_STOPPED", "MI_ERRORCATEGORY_OPERATION_TIMEOUT", "MI_ERRORCATEGORY_SYNTAX_ERROR", "MI_ERRORCATEGORY_PARSER_ERROR", "MI_ERRORCATEGORY_ACCESS_DENIED", "MI_ERRORCATEGORY_RESOURCE_BUSY", "MI_ERRORCATEGORY_RESOURCE_EXISTS", "MI_ERRORCATEGORY_RESOURCE_UNAVAILABLE", "MI_ERRORCATEGORY_READ_ERROR", "MI_ERRORCATEGORY_WRITE_ERROR", "MI_ERRORCATEGORY_FROM_STDERR", "MI_ERRORCATEGORY_SECURITY_ERROR", "MI_ERRORCATEGORY_PROTOCOL_ERROR", "MI_ERRORCATEGORY_CONNECTION_ERROR", "MI_ERRORCATEGORY_AUTHENTICATION_ERROR", "MI_ERRORCATEGORY_LIMITS_EXCEEDED", "MI_ERRORCATEGORY_QUOTA_EXCEEDED", "MI_ERRORCATEGORY_NOT_ENABLED"} : Amended ToSubclass] uint16 error_Category;
};
