#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\DesiredStateConfiguration")

// Update: Fri 11/06/2015 14:23:48.73

Instance of __Win32Provider as $prov
{
  Name = "DSCCoreProviders";
  ClsId = "{F04C3F9B-20B3-40E1-A824-3A41FE3D7931}";
  ImpersonationLevel = 1;
  HostingModel = "LocalSystemHost:DscLcm";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __InstanceProviderRegistration
{
  Provider = $prov;
  supportsGet = TRUE;
  supportsPut = TRUE;
  supportsDelete = TRUE;
  supportsEnumeration = TRUE;
  QuerySupportLevels;
};

[Abstract,ClassVersion("1.0.0"),locale(1033)] 
class MSFT_Credential
{
  [MaxLen(256) : ToSubclass] string UserName;
  string Password;
};

[Abstract,ClassVersion("1.0.0"),locale(1033)] 
class OMI_BaseResource
{
  [Required : ToSubclass DisableOverride] string ResourceId;
  [write : ToSubclass] string SourceInfo;
  [write : ToSubclass] string DependsOn[];
  [Required : ToSubclass DisableOverride] string ModuleName;
  [Required : ToSubclass DisableOverride] string ModuleVersion;
  [write : ToSubclass] string ConfigurationName;
  [EmbeddedInstance("MSFT_Credential") : ToSubclass] MSFT_Credential PsDscRunAsCredential;
};

[ClassVersion("1.0.0"),locale(1033),dynamic : ToInstance,provider("DSCCoreProviders") : ToInstance] 
class MSFT_FileDirectoryConfiguration : OMI_BaseResource
{
  [key] string DestinationPath;
  [write : ToSubclass,ValueMap{"Present", "Absent"} : ToSubclass] string Ensure;
  [write : ToSubclass,ValueMap{"File", "Directory"} : ToSubclass] string Type;
  [write : ToSubclass] string SourcePath;
  [write : ToSubclass] string Contents;
  [write : ToSubclass,ValueMap{"SHA-1", "SHA-256", "SHA-512", "CreatedDate", "ModifiedDate"} : ToSubclass] string Checksum;
  [write : ToSubclass] boolean Recurse;
  [write : ToSubclass] boolean Force;
  [write : ToSubclass,EmbeddedInstance("MSFT_Credential") : ToSubclass] MSFT_Credential Credential;
  [read : ToSubclass] datetime CreatedDate;
  [read : ToSubclass] datetime ModifiedDate;
  [write : ToSubclass,ValueMap{"ReadOnly", "Hidden", "System", "Archive", "NotContentIndexed"} : ToSubclass] string Attributes[];
  [read : ToSubclass] uint64 Size;
  [read : ToSubclass,EmbeddedInstance("MSFT_FileDirectoryConfiguration") : ToSubclass] MSFT_FileDirectoryConfiguration SubItems[];
  [write : ToSubclass] boolean MatchSource;
  [implemented,static : ToSubclass DisableOverride] uint32 GetTargetResource([In,EmbeddedInstance("MSFT_FileDirectoryConfiguration") : ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In] uint32 Flags,[Out,EmbeddedInstance("MSFT_FileDirectoryConfiguration") : ToSubclass] MSFT_FileDirectoryConfiguration OutputResource);
  [implemented,static : ToSubclass DisableOverride] uint32 TestTargetResource([In,EmbeddedInstance("MSFT_FileDirectoryConfiguration") : ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In] uint32 Flags,[Out] boolean Result,[Out] uint64 ProviderContext);
  [implemented,static : ToSubclass DisableOverride] uint32 SetTargetResource([In,EmbeddedInstance("MSFT_FileDirectoryConfiguration") : ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In] uint64 ProviderContext,[In] uint32 Flags);
};
