1 heat_template_version: 2013-05-23
4 HEAT template for installing DotNetNuke app on Windows Server
10 default: HeatWinResource
11 description: Windows Server Name
16 - allowed_pattern: "[a-zA-Z][a-zA-Z0-9]*"
17 description: must begin with a letter and contain only alphanumeric characters.
21 default: Windows Server 2012
22 description: Windows Server Image
26 description: Rackspace Cloud Server flavor
27 default: 4GB Standard Instance
30 - 4GB Standard Instance
31 - 8GB Standard Instance
32 - 15GB Standard Instance
33 - 30GB Standard Instance
34 description: must be a valid Rackspace Cloud Server flavor.
39 default: verybadpass_123
40 description: SQLExpress DB password
43 description: valid domain name
48 description: domain owner email addresses
50 default: admin@example.com
53 description: domain record type
69 type: "Rackspace::Cloud::WinServer"
71 name: { get_param: name }
72 flavor: { get_param: flavor }
73 image: { get_param: image }
77 $source = "http://download.microsoft.com/download/7/0/4/704CEB4C-9F42-4962-A2B0-5C84B0682C7A/WebPlatformInstaller_amd64_en-US.msi"
78 $destination = "webpi.msi"
79 $wc = New-Object System.Net.WebClient
80 $wc.DownloadFile($source, $destination)
81 Start-Process msiexec -ArgumentList "/i webpi.msi /qn" -NoNewWindow -Wait
82 echo "AppPath[@]Default Web Site/dotnetnuke" > dnn.app
83 echo "sqldbpassword[@]${sqlpassword}" >> dnn.app
84 $tmpprofile = $env:userprofile
85 $env:userprofile = "c:\users\administrator"
86 $wpicmd = "C:\Program Files\Microsoft\Web Platform Installer\WebPICMD.exe"
87 Start-Process $wpicmd -ArgumentList "/Install /Application:dotnetnuke@dnn.app /SQLPassword:%sqlpassword% /AcceptEULA /Log:.\wpi.log" -NoNewWindow -Wait
88 Start-Process 'dism' -ArgumentList "/online /enable-feature /featurename:IIS-ASPNET45 /all" -NoNewWindow -Wait
89 $env:userprofile = $tmpprofile
91 "%sqlpassword%": { get_param: sql_password }
94 type: Rackspace::Cloud::DNS
96 name: { get_param: domain_name }
97 emailAddress: { get_param: email_address }
99 - name: { get_param: domain_name }
100 type: { get_param: domain_record_type }
101 data: { get_attr: [rs_windows_server, accessIPv4] }
102 - name: { get_param: domain_name }
104 data: dns1.stabletransit.com
105 - name: { get_param: domain_name }
107 data: dns2.stabletransit.com
112 value: { get_attr: [ rs_windows_server, accessIPv4 ] }
113 description: public IP of the windows server
118 template: http://%ip%/dotnetnuke/default.aspx
120 "%ip%": { get_attr: [ rs_windows_server, accessIPv4 ] }
121 description: URL for DNN site
126 template: http://%domain%/dotnetnuke/default.aspx
128 "%domain%": { get_attr: [ get_param, domain_name ] }
129 description: URL for DNN site with domain name