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'`. <br />> [!NOTE] **AddNode is not currently functional.**"), ValueMap{"Install","Upgrade","InstallFailoverCluster","AddNode","PrepareFailoverCluster","CompleteFailoverCluster"}, Values{"Install","Upgrade","InstallFailoverCluster","AddNode","PrepareFailoverCluster","CompleteFailoverCluster"}] String Action;
    [Required, 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[];
    [Write, Description("Specifies the host or network name of the _SQL Server_ instance. If the SQL Server belongs to a cluster or availability group it could be set to the host name for the listener or cluster group. If using a secure connection the specified value should be the same name that is used in the certificate. Default value is the current computer name.")] String ServerName;
    [Write, Description("Specifies the SQL Server version that should be installed. Only the major version will be used, but the provided value must be set to at least major and minor version (e.g. `14.0`). When providing this parameter the media will not be used to evaluate version. Although, if the setup action is `Upgrade` then setting this parameter will throw an exception as the version from the install media is required.")] String SqlVersion;
    [Read, Description("Returns a boolean value of `$true` if the instance is clustered, otherwise it returns `$false`.")] Boolean IsClustered;
};