DscResources/xMySqlProvision/xMySqlProvision.Schema.psm1
# Composite configuration to provision MySql configuration xMySqlProvision { param ( [Parameter(Mandatory = $true)] [string] $ServiceName, [Parameter(Mandatory = $true)] [string] $DownloadUri, [Parameter(Mandatory = $true)] [PSCredential] $RootCredential, [Parameter(Mandatory = $true)] [String] $DatabaseName, [Parameter(Mandatory = $true)] [PSCredential] $UserCredential ) # Make sure the mySqlServer installer package is present Package mySqlInstaller { Path = $DownloadURI ProductId = "{437AC169-780B-47A9-86F6-14D43C8F596B}" Name = "MySQL Installer" } # Make sure the mySqlServer exists with the correct root credential xMySqlServer mySQLServer { ServiceName = $ServiceName Ensure = "Present" RootPassword = $RootCredential DependsOn = "[Package]mySqlInstaller" } # Make sure the MySql WordPress database exists xMySqlDatabase mySQLDatabase { Ensure = "Present" Name = $DatabaseName ConnectionCredential = $RootCredential DependsOn = "[xMySqlServer]mySQLServer" } # Make sure the MySql WordPress user exists xMySqlUser mySQLUser { Name = $UserCredential.UserName Ensure = "Present" Credential = $UserCredential ConnectionCredential = $RootCredential DependsOn = "[xMySqlDatabase]mySQLDatabase" } # Make sure the MySql WordPress user has access to tho WordPress database xMySqlGrant mySQLGrant { UserName = $UserCredential.UserName DatabaseName = $DatabaseName Ensure = "Present" ConnectionCredential = $RootCredential DependsOn = "[xMySqlUser]mySQLUser" } } |