DSCResources/SFSimpleDeployment/SFSimpleDeployment.schema.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
configuration SFSimpleDeployment { param ( ## Path to StoreFront installation executable [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String] $Path, ## Storefront base Uri, e.g. https://storefront.lab.local [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String] $BaseUrl, ## XenDesktop/XenApp farm/site to add to the deployment [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String] $FarmName, ## XenDesktop/XenApp farm/site type to add to the deployment [Parameter(Mandatory)] [ValidateSet('XenApp','XenDesktop','VDIinaBox')] [System.String] $FarmType, ## XenDesktop/XenApp farm/site controllers [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [System.String[]] $Servers, ## Storefront store virtual path [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $StoreVirtualPath = '/Citrix/Store', ## Storefront authentication service virtual path [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $AuthenticationVirtualPath = '/Citrix/Authentication', ## Xml service transport type [Parameter()] [ValidateSet('HTTP','HTTPS')] [System.String] $Transport = 'HTTP', ## Xml service port [Parameter()] [ValidateNotNull()] [System.UInt32] $ServicePort = (& { if ($Transport -eq 'HTTPS') { 443 } else { 80 } }) ) ## Avoid recursively loading the module! Import-DscResource -Name VE_SFFeature, VE_SFCluster, VE_SFAuthenticationService, VE_SFStore, VE_SFStoreWebReceiver, VE_SFStoreFarm; $prefix = $BaseUrl.Replace('/','').Replace(':',''); SFFeature "$($prefix)Feature" { Path = $Path; } SFCluster "$($prefix)Group" { BaseUrl = $BaseUrl; } SFAuthenticationService "$($prefix)Authentication" { VirtualPath = $AuthenticationVirtualPath; DependsOn = "[SFCluster]$($prefix)Group"; } SFStore "$($prefix)Store" { VirtualPath = $StoreVirtualPath; AuthenticationServiceVirtualPath = $AuthenticationVirtualPath; DependsOn = "[SFAuthenticationService]$($prefix)Authentication"; } SFStoreWebReceiver "$($prefix)WebReceiver" { StoreVirtualPath = $StoreVirtualPath; DependsOn = "[SFStore]$($prefix)Store"; } SFStoreFarm "$($prefix)Farm" { StoreVirtualPath = $StoreVirtualPath; FarmName = $FarmName; FarmType = $FarmType; Servers = $Servers; TransportType = $Transport; ServicePort = $ServicePort; } } |