DSCResources/DSC_SqlSetup/DSC_SqlSetup.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("SqlSetup")]
class DSC_SqlSetup : OMI_BaseResource
{
    [Write, Description("The action to be performed. Default value is `'Install'`. **NOTE: AddNode is not currently functional.**"), ValueMap{"Install","Upgrade","InstallFailoverCluster","AddNode","PrepareFailoverCluster","CompleteFailoverCluster"}, Values{"Install","Upgrade","InstallFailoverCluster","AddNode","PrepareFailoverCluster","CompleteFailoverCluster"}] String Action;
    [Write, Description("The path to the root of the source files for installation. I.e and UNC path to a shared resource. Environment variables can be used in the path.")] String SourcePath;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Credentials used to access the path set in the parameter **SourcePath**. See section [Considerations](#considerations) regarding the parameter **SourceCredential**.")] String SourceCredential;
    [Write, Description("Suppresses reboot.")] Boolean SuppressReboot;
    [Write, Description("Forces reboot.")] Boolean ForceReboot;
    [Write, Description("_SQL Server_ features to be installed.")] String Features;
    [Key, Description("Specifies the name of the instance to be installed.")] String InstanceName;
    [Write, Description("_SQL Server_ instance ID (if different from parameter **InstanceName**).")] String InstanceID;
    [Write, Description("Product key for licensed installations.")] String ProductKey;
    [Write, Description("Enabled updates during installation.")] String UpdateEnabled;
    [Write, Description("Path to the source of updates to be applied during installation.")] String UpdateSource;
    [Write, Description("Enable customer experience reporting.")] String SQMReporting;
    [Write, Description("Enable error reporting.")] String ErrorReporting;
    [Write, Description("Installation path for shared _SQL Server_ files.")] String InstallSharedDir;
    [Write, Description("Installation path for x86 shared _SQL Server_ files.")] String InstallSharedWOWDir;
    [Write, Description("Installation path for _SQL Server_ instance files.")] String InstanceDir;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for the _SQL Server_'s _Windows_ service.")] String SQLSvcAccount;
    [Read, Description("Returns the username for the _SQL Server_'s _Windows_ service.")] String SQLSvcAccountUsername;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for the _SQL Agent_'s _Windows_ service.")] String AgtSvcAccount;
    [Read, Description("Returns the username for the _SQL Agent_'s _Windows_ service.")] String AgtSvcAccountUsername;
    [Write, Description("Collation for _SQL Server Database Engine_.")] String SQLCollation;
    [Write, Description("An array of accounts to be made _SQL Server_ administrators.")] String SQLSysAdminAccounts[];
    [Write, Description("Security mode to apply to the _SQL Server_ instance. The value `'SQL'` indicates mixed-mode authentication while the value `'Windows'` indicates _Windows Authentication_. Default value is `'Windows'`."), ValueMap{"SQL", "Windows"}, Values{"SQL", "Windows"}] String SecurityMode;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Specifies the SA account's password. Only applicable if parameter **SecurityMode** is set to `'SQL'`.")] String SAPwd;
    [Write, Description("Root path for _SQL Server_ database files.")] String InstallSQLDataDir;
    [Write, Description("Path for _SQL Server_ database files.")] String SQLUserDBDir;
    [Write, Description("Path for _SQL Server_ log files.")] String SQLUserDBLogDir;
    [Write, Description("Path for _SQL Server_ temporary database data files.")] String SQLTempDBDir;
    [Write, Description("Path for _SQL Server_ temporary database log files.")] String SQLTempDBLogDir;
    [Write, Description("Path for _SQL Server_ backup files.")] String SQLBackupDir;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for the _Full Text_'s _Windows_ service.")] String FTSvcAccount;
    [Read, Description("Returns the username for the _Full Text_' _Windows_ service.")] String FTSvcAccountUsername;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for _Reporting Services_'s _Windows_ service.")] String RSSvcAccount;
    [Read, Description("Returns the username for the _Reporting Services_'s _Windows_ service.")] String RSSvcAccountUsername;
    [Write, Description("Specifies the install mode for _SQL Server Report Services_ service."), ValueMap{"SharePointFilesOnlyMode", "DefaultNativeMode", "FilesOnlyMode"}, Values{"SharePointFilesOnlyMode", "DefaultNativeMode", "FilesOnlyMode"}] String RSInstallMode;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for _Analysis Services_'s _Windows_ service.")] String ASSvcAccount;
    [Read, Description("Returns the username for the _SQL Server Analysis Services_'s _Windows_ service.")] String ASSvcAccountUsername;
    [Write, Description("Collation for the _SQL Server Analysis Services_.")] String ASCollation;
    [Write, Description("Array of accounts to be made _Analysis Services_ admins.")] String ASSysAdminAccounts[];
    [Write, Description("Path for _Analysis Services_'s data files.")] String ASDataDir;
    [Write, Description("Path for _Analysis Services_'s log files.")] String ASLogDir;
    [Write, Description("Path for _Analysis Services_'s backup files.")] String ASBackupDir;
    [Write, Description("Path for _Analysis Services_'s temp files.")] String ASTempDir;
    [Write, Description("Path for _Analysis Services_'s config files.")] String ASConfigDir;
    [Write, Description("The server mode for _SQL Server Analysis Services_ instance. The default is to install in Multidimensional mode. Valid values in a cluster scenario are `'MULTIDIMENSIONAL'` or `'TABULAR'`. Parameter **ASServerMode** is case-sensitive. **All values must be expressed in upper case**."), ValueMap{"MULTIDIMENSIONAL", "TABULAR", "POWERPIVOT"}, Values{"MULTIDIMENSIONAL", "TABULAR", "POWERPIVOT"}] String ASServerMode;
    [Write, EmbeddedInstance("MSFT_Credential"), Description("Service account for _Integration Services_'s _Windows_ service.")] String ISSvcAccount;
    [Read, Description("Returns the username for the _Integration Services_'s _Windows_ service.")] String ISSvcAccountUsername;
    [Write, Description("Specifies the startup mode for the _SQL Server Database Engine_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String SqlSvcStartupType;
    [Write, Description("Specifies the startup mode for the _SQL Server Agent_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String AgtSvcStartupType;
    [Write, Description("Specifies the startup mode for the _SQL Server Integration Services_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String IsSvcStartupType;
    [Write, Description("Specifies the startup mode for the _SQL Server Analysis Services_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String AsSvcStartupType;
    [Write, Description("Specifies the startup mode for the _SQL Server Reporting Services_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String RSSVCStartupType;
    [Write, Description("Specifies the startup mode for _SQL Server Browser_'s _Windows_ service."), ValueMap{"Automatic", "Disabled", "Manual"}, Values{"Automatic", "Disabled", "Manual"}] String BrowserSvcStartupType;
    [Write, Description("The name of the resource group to create for the clustered _SQL Server_ instance. Default is `'SQL Server (InstanceName)'`.")] String FailoverClusterGroupName;
    [Write, Description("Specifies an array of IP addresses to be assigned to the clustered _SQL Server_ instance. IP addresses must be in [dotted-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation), for example `'10.0.0.100'`. If no IP address is specified, uses `'DEFAULT'` for this setup parameter.")] String FailoverClusterIPAddress[];
    [Write, Description("Host name to be assigned to the clustered _SQL Server_ instance.")] String FailoverClusterNetworkName;
    [Write, Description("Specifies the number of temporary database data files to be added by setup.")] UInt32 SqlTempdbFileCount;
    [Write, Description("Specifies the initial size of each temporary database data file in MB.")] UInt32 SqlTempdbFileSize;
    [Write, Description("Specifies the file growth increment of each temporary database data file in MB.")] UInt32 SqlTempdbFileGrowth;
    [Write, Description("Specifies the initial size of each temporary database log file in MB.")] UInt32 SqlTempdbLogFileSize;
    [Write, Description("Specifies the file growth increment of each temporary database data file in MB.")] UInt32 SqlTempdbLogFileGrowth;
    [Write, Description("Specifies the state of the _Named Pipes_ protocol for the _SQL Server_ service. The value `$true` will enable the _Named Pipes_ protocol and `$false` will disabled it.")] Boolean NpEnabled;
    [Write, Description("Specifies the state of the _TCP_ protocol for the _SQL Server_ service. The value `$true` will enable the _TCP_ protocol and `$false` will disabled it.")] Boolean TcpEnabled;
    [Write, Description("The timeout, in seconds, to wait for the setup process to finish. Default value is `7200` seconds (2 hours). If the setup process does not finish before this time, an error will be thrown.")] UInt32 SetupProcessTimeout;
    [Write, Description("Feature flags are used to toggle DSC resource functionality on or off. See the DSC resource documentation for what additional functionality exist through a feature flag.")] String FeatureFlag[];
    [Write, Description("Specifies to install the English version of _SQL Server_ on a localized operating system when the installation media includes language packs for both English and the language corresponding to the operating system.")] Boolean UseEnglish;
    [Write, Description("Specifies optional skip rules during setup.")] String SkipRule[];
    [Read, Description("Returns a boolean value of `$true` if the instance is clustered, otherwise it returns `$false`.")] Boolean IsClustered;
};