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

[Description("用于 DSC 配置提供程序的凭据。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_Credential
{
  [Description("UserName 是授权服务映射到某个标识的用户名。") : Amended ToSubclass] string UserName;
  [Description("UserPassword 属性可能包含用来访问资源的密码。") : Amended ToSubclass] string Password;
};

[Description("所有本机配置提供程序的基础架构。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class OMI_BaseResource
{
  [Description("资源实例的唯一 ID。") : Amended ToSubclass] string ResourceId;
  [Description("用于将其关联回 powershell 配置脚本的源信息。") : Amended ToSubclass] string SourceInfo;
  [Description("此资源所依赖的资源的列表。") : Amended ToSubclass] string DependsOn[];
  [Description("支持此资源的模块的名称。") : Amended ToSubclass] string ModuleName;
  [Description("支持此资源的模块的版本。") : Amended ToSubclass] string ModuleVersion;
  [Description("所属的配置的名称") : Amended ToSubclass] string ConfigurationName;
  [Description("资源运行时所依据的凭据。") : Amended ToSubclass] MSFT_Credential PsDscRunAsCredential;
};

[Description("文件和目录的配置提供程序。") : Amended ToSubclass,AMENDMENT, LOCALE("MS_804")] 
class MSFT_FileDirectoryConfiguration : OMI_BaseResource
{
  [key,Description("要在目标节点上复制或创建的文件名和路径。") : Amended ToSubclass] string DestinationPath;
  [Values{"存在", "不存在"} : Amended ToSubclass,Description("定义如何评估目标文件的存在。") : Amended ToSubclass] string Ensure;
  [Values{"文件", "目录"} : Amended ToSubclass,Description("“文件”和“目录”之间进行的选择。默认值为“文件”。") : Amended ToSubclass] string Type;
  [Description("要从中复制内容的文件的名称和路径。") : Amended ToSubclass] string SourcePath;
  [Description("包含代表文件内容的字符串。若要创建空文件，该字符串必须为空。内容将使用 UTF-8 字符编码进行写入和比较。") : Amended ToSubclass] string Contents;
  [Values{"SHA-1", "SHA-256", "SHA-512", "CreatedDate", "ModifiedDate"} : Amended ToSubclass,Description("确定两个文件是否相同时要使用的校验和类型。") : Amended ToSubclass] string Checksum;
  [Description("递归所有子目录") : Amended ToSubclass] boolean Recurse;
  [Description("即使文件操作会破坏内容文件或目录，也执行该操作。") : Amended ToSubclass] boolean Force;
  [Description("用于访问远程资源的凭据。") : Amended ToSubclass] MSFT_Credential Credential;
  [Description("创建日期") : Amended ToSubclass] datetime CreatedDate;
  [Description("修改日期") : Amended ToSubclass] datetime ModifiedDate;
  [Values{"ReadOnly", "隐藏", "系统", "存档", "NotContentIndexed"} : Amended ToSubclass,Description("文件/目录的属性") : Amended ToSubclass] string Attributes[];
  [Description("对象大小") : Amended ToSubclass] uint64 Size;
  [Description("子文件夹和文件(如果这是一个目录)。") : Amended ToSubclass] MSFT_FileDirectoryConfiguration SubItems[];
  [Description("始终将 DestinationPath 与 SourcePath 进行比较。默认值为 false，意味着我们将使用已缓存的信息。") : Amended ToSubclass] boolean MatchSource;
  [Description("基于输入配置文件获取资源状态。") : Amended ToSubclass] uint32 GetTargetResource([In,Description("要应用的配置文档。") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("传递给提供程序的标志。已保留供将来使用。") : Amended ToSubclass] uint32 Flags,[Out,Description("指定的配置资源的当前状态。") : Amended ToSubclass] MSFT_FileDirectoryConfiguration OutputResource);
  [Description("基于输入配置文件测试资源状态。") : Amended ToSubclass] uint32 TestTargetResource([In,Description("要应用的配置文档。") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("传递给提供程序的标志。已保留供将来使用。") : Amended ToSubclass] uint32 Flags,[Out,Description("如果相同，则为 True，否则为 False。") : Amended ToSubclass] boolean Result,[Out,Description("可供提供程序用于优化集合的上下文信息。此项为可选。") : Amended ToSubclass] uint64 ProviderContext);
  [Description("基于输入配置文件设置资源状态。") : Amended ToSubclass] uint32 SetTargetResource([In,Description("要应用的配置文档。") : Amended ToSubclass] MSFT_FileDirectoryConfiguration InputResource,[In,Description("可供提供程序用于优化 TestTargetResource 中集合的上下文信息。此项为可选。") : Amended ToSubclass] uint64 ProviderContext,[In,Description("传递给提供程序的标志。已保留供将来使用。") : Amended ToSubclass] uint32 Flags);
};
