DSCResources/DSC_SqlScript/DSC_SqlScript.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("SqlScript")]
class DSC_SqlScript : OMI_BaseResource
{
    [Key, Description("Specifies the name of the _SQL Server Database Engine_ instance. For the default instance specify the value `'MSSQLSERVER'`.")] String InstanceName;
    [Key, Description("Path to the T-SQL file that will perform _Set_ action.")] String SetFilePath;
    [Key, Description("Path to the T-SQL file that will perform _Get_ action. Any values returned by the T-SQL queries will also be returned when calling _Get_ (for example by using the cmdlet `Get-DscConfiguration`) through the `'GetResult'` property.")] String GetFilePath;
    [Key, Description("Path to the T-SQL file that will perform _Test_ action. Any script that does not throw an error or returns `NULL` is evaluated to `$true`. The cmdlet `Invoke-Sqlcmd` treats T-SQL `PRINT` statements as verbose text, and will not cause the test to return `$false`.")] String TestFilePath;
    [Write, Description("Specifies the host name of the _SQL Server_ to be configured. Default value is the current computer name.")] String ServerName;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("The credentials to authenticate with, using _SQL Server Authentication_. To authenticate using _Windows Authentication_ assign the credentials to the built-in parameter **PsDscRunAsCredential**. If neither of the parameters **Credential** or **PsDscRunAsCredential** are assigned, then the SYSTEM account will be used to authenticate using _Windows Authentication_.")] String Credential;
    [Write, Description("Specifies, as a string array, a scripting variable for use in the T-SQL script, and sets a value for the variable. Use a _Windows PowerShell_ array to specify multiple variables and their values. For more information how to use this, please go to the help documentation for [Invoke-Sqlcmd](https://technet.microsoft.com/en-us/library/mt683370.aspx).")] String Variable[];
    [Write, Description("Specifies, as a boolean, whether or not PowerShell will ignore `Invoke-Sqlcmd` scripting variables that share a format such as `$(variable_name)`. For more information how to use this, please go to the help documentation for [Invoke-Sqlcmd](https://technet.microsoft.com/en-us/library/mt683370.aspx).")] Boolean DisableVariables;
    [Write, Description("Specifies, as an integer, the number of seconds after which the T-SQL script execution will time out. In some _SQL Server_ versions there is a bug in `Invoke-Sqlcmd` where the normal default value `0` (no timeout) is not respected and the default value is incorrectly set to 30 seconds.")] UInt32 QueryTimeout;
    [Read, Description("Returns the result from the T-SQL script provided in the parameter **GetFilePath** when _Get_ was called.")] String GetResult[];
};