#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")

[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("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("The configuration provider for files and directories.") : Amended ToSubclass,AMENDMENT, LOCALE("MS_809")] 
class MSFT_FileDirectoryConfiguration : OMI_BaseResource
{
  [key,Description("File name and path on target node to copy or create.") : Amended ToSubclass] string DestinationPath;
  [Values{"Present", "Absent"} : Amended ToSubclass,Description("Defines how to evaluate the existence of the destination file.") : Amended ToSubclass] string Ensure;
  [Values{"File", "Directory"} : Amended ToSubclass,Description("A choice between File and Directory. The default value is File.") : Amended ToSubclass] string Type;
  [Description("The name and path of the file to copy from.") : Amended ToSubclass] string SourcePath;
  [Description("Contains a string that represents the contents of the file. To create an empty file, the string must be empty. The contents will be written and compared using UTF-8 character encoding.") : Amended ToSubclass] string Contents;
  [Values{"SHA-1", "SHA-256", "SHA-512", "CreatedDate", "ModifiedDate"} : Amended ToSubclass,Description("The checksum type to use when determining whether two files are the same.") : Amended ToSubclass] string Checksum;
  [Description("Recurse all child directories") : Amended ToSubclass] boolean Recurse;
  [Description("Perform the file operation even if it will destroy content files or directories.") : Amended ToSubclass] boolean Force;
  [Description("Credential to access remote resources.") : Amended ToSubclass] MSFT_Credential Credential;
  [Description("Created date") : Amended ToSubclass] datetime CreatedDate;
  [Description("Modified date") : Amended ToSubclass] datetime ModifiedDate;
  [Values{"ReadOnly", "Hidden", "System", "Archive", "NotContentIndexed"} : Amended ToSubclass,Description("Attributes for file / directory") : Amended ToSubclass] string Attributes[];
  [Description("Object size") : Amended ToSubclass] uint64 Size;
  [Description("The sub-folders and files if this is a directory.") : Amended ToSubclass] MSFT_FileDirectoryConfiguration SubItems[];
  [Description("Always compare the DestinationPath with the SourcePath. The default is false, meaning we will use cached information.") : Amended ToSubclass] boolean MatchSource;
  [Description("Get resource states based on input configuration file.") : Amended ToSubclass] uint32 GetTargetResource([In,Description("Configuration document that is to be applied.") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("Flags passed to the providers. Reserved for future use.") : Amended ToSubclass] uint32 Flags,[Out,Description("The current state of the specified configuration resources.") : Amended ToSubclass] MSFT_FileDirectoryConfiguration OutputResource);
  [Description("Test resource states based on input configuration file.") : Amended ToSubclass] uint32 TestTargetResource([In,Description("Configuration document that to be applied.") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("Flags passed to the providers. reserved for future use.") : Amended ToSubclass] uint32 Flags,[Out,Description("True if identical. False otherwise.") : Amended ToSubclass] boolean Result,[Out,Description("Context information that the provider can use to optimize the set, This is optional.") : Amended ToSubclass] uint64 ProviderContext);
  [Description("Set resource states based on input configuration file.") : Amended ToSubclass] uint32 SetTargetResource([In,Description("Configuration document that to be applied.") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("Context information that the provider can use to optimize the set from TestTargetResource, This is optional.") : Amended ToSubclass] uint64 ProviderContext,[In,Description("Flags passed to the providers. reserved for future use.") : Amended ToSubclass] uint32 Flags);
};
