cloud-mu 3.1.4 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/ansible/roles/mu-windows/README.md +33 -0
  3. data/ansible/roles/mu-windows/defaults/main.yml +2 -0
  4. data/ansible/roles/mu-windows/handlers/main.yml +2 -0
  5. data/ansible/roles/mu-windows/meta/main.yml +53 -0
  6. data/ansible/roles/mu-windows/tasks/main.yml +20 -0
  7. data/ansible/roles/mu-windows/tests/inventory +2 -0
  8. data/ansible/roles/mu-windows/tests/test.yml +5 -0
  9. data/ansible/roles/mu-windows/vars/main.yml +2 -0
  10. data/cloud-mu.gemspec +4 -2
  11. data/cookbooks/mu-tools/recipes/selinux.rb +2 -1
  12. data/cookbooks/mu-tools/recipes/windows-client.rb +140 -144
  13. data/cookbooks/mu-tools/resources/windows_users.rb +44 -43
  14. data/extras/image-generators/AWS/win2k12.yaml +16 -13
  15. data/extras/image-generators/AWS/win2k16.yaml +16 -13
  16. data/extras/image-generators/AWS/win2k19.yaml +19 -0
  17. data/modules/mu.rb +72 -9
  18. data/modules/mu/adoption.rb +14 -2
  19. data/modules/mu/cloud.rb +111 -10
  20. data/modules/mu/clouds/aws.rb +23 -7
  21. data/modules/mu/clouds/aws/container_cluster.rb +640 -692
  22. data/modules/mu/clouds/aws/dnszone.rb +49 -45
  23. data/modules/mu/clouds/aws/firewall_rule.rb +177 -214
  24. data/modules/mu/clouds/aws/role.rb +17 -8
  25. data/modules/mu/clouds/aws/search_domain.rb +1 -1
  26. data/modules/mu/clouds/aws/server.rb +734 -1027
  27. data/modules/mu/clouds/aws/userdata/windows.erb +2 -1
  28. data/modules/mu/clouds/aws/vpc.rb +297 -786
  29. data/modules/mu/clouds/aws/vpc_subnet.rb +286 -0
  30. data/modules/mu/clouds/google/bucket.rb +1 -1
  31. data/modules/mu/clouds/google/container_cluster.rb +21 -17
  32. data/modules/mu/clouds/google/function.rb +8 -2
  33. data/modules/mu/clouds/google/server.rb +102 -32
  34. data/modules/mu/clouds/google/vpc.rb +1 -1
  35. data/modules/mu/config.rb +12 -1
  36. data/modules/mu/config/server.yml +1 -0
  37. data/modules/mu/defaults/AWS.yaml +51 -28
  38. data/modules/mu/groomers/ansible.rb +54 -17
  39. data/modules/mu/groomers/chef.rb +13 -7
  40. data/modules/mu/master/ssl.rb +0 -1
  41. data/modules/mu/mommacat.rb +8 -0
  42. data/modules/tests/ecs.yaml +23 -0
  43. data/modules/tests/includes-and-params.yaml +2 -1
  44. data/modules/tests/server-with-scrub-muisms.yaml +1 -0
  45. data/modules/tests/win2k12.yaml +25 -0
  46. data/modules/tests/win2k16.yaml +25 -0
  47. data/modules/tests/win2k19.yaml +25 -0
  48. data/requirements.txt +1 -0
  49. metadata +50 -4
  50. data/extras/image-generators/AWS/windows.yaml +0 -18
  51. data/modules/tests/needwork/win2k12.yaml +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63e9eb2d1b4db9fe4dc96bfdc81fc6ae47c6e0b6afa1113226ebf4d798a4990a
4
- data.tar.gz: 60ea7c4c936d2f66e300705b1cbaaca178476581ad106d05f7f48dac310f2003
3
+ metadata.gz: a2a3a37b9669c04e28e4b5a0d2f80a2de02478dabac733c90e9d36dae452528c
4
+ data.tar.gz: 654354392527c27ac2825bce89b992f209577cbf97dbdce29ceeb23565cf733d
5
5
  SHA512:
6
- metadata.gz: f7862eacf10e60e1ee974b7a518177baf4d16271724d4ad9b0fd02a27dd3a7a9b5de5caa04aa6ce5bfe171449ffcbebdafd0012c2299c4ac2e39442fbbd0fcfd
7
- data.tar.gz: a72c384253bc6b1649060ca33ceaafb28a1f9fb9d5cd699af2bcc63f7b1bbad3efb9ca1b67fbcc08b4fed0efa2d7f533ef3556abb15ed977490912f09e6350de
6
+ metadata.gz: d09fbaa85a8bfa880b35aad227367a4b156635d847ca9f697a7e6cbc93600b0b59fd495dd180e2d6955f160dab83f81335e7d47a6c2027c6598fd8b82da97c2a
7
+ data.tar.gz: b49216fcc464945f3f27b0927c59b3e41b906ddaf09f7b87433a37eec54330462cf246058fa9959d3d1ec90ee1570fc3921bc7e0da0a1552c1d4664832e4d42e
@@ -0,0 +1,33 @@
1
+ Role Name
2
+ =========
3
+
4
+ Used during image builds for Windows 2012R2, 2016, and 2019. Runs all updates and installs chocolatey, git, openssh, and ruby.
5
+
6
+ Requirements
7
+ ------------
8
+
9
+ Windows host with internet connectivity and no other major services running.
10
+
11
+ License
12
+ -------
13
+
14
+ Copyright:: Copyright (c) 2020 eGlobalTech, Inc., all rights reserved
15
+
16
+ Licensed under the BSD-3 license (the "License");
17
+ you may not use this file except in compliance with the License.
18
+ You may obtain a copy of the License in the root of the project or at
19
+
20
+ http://egt-labs.com/mu/LICENSE.html
21
+
22
+ Unless required by applicable law or agreed to in writing, software
23
+ distributed under the License is distributed on an "AS IS" BASIS,
24
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25
+ See the License for the specific language governing permissions and
26
+ limitations under the License.
27
+
28
+ Author Information
29
+ ------------------
30
+
31
+ Current developers: John Stange, Robert Patt-Corner, Ryan Bolyard
32
+
33
+ egt-labs-admins@egt-labs.com
@@ -0,0 +1,2 @@
1
+ ---
2
+ # defaults file for mu-windows
@@ -0,0 +1,2 @@
1
+ ---
2
+ # handlers file for mu-windows
@@ -0,0 +1,53 @@
1
+ galaxy_info:
2
+ author: your name
3
+ description: your description
4
+ company: your company (optional)
5
+
6
+ # If the issue tracker for your role is not on github, uncomment the
7
+ # next line and provide a value
8
+ # issue_tracker_url: http://example.com/issue/tracker
9
+
10
+ # Choose a valid license ID from https://spdx.org - some suggested licenses:
11
+ # - BSD-3-Clause (default)
12
+ # - MIT
13
+ # - GPL-2.0-or-later
14
+ # - GPL-3.0-only
15
+ # - Apache-2.0
16
+ # - CC-BY-4.0
17
+ license: license (GPL-2.0-or-later, MIT, etc)
18
+
19
+ min_ansible_version: 2.4
20
+
21
+ # If this a Container Enabled role, provide the minimum Ansible Container version.
22
+ # min_ansible_container_version:
23
+
24
+ #
25
+ # Provide a list of supported platforms, and for each platform a list of versions.
26
+ # If you don't wish to enumerate all versions for a particular platform, use 'all'.
27
+ # To view available platforms and versions (or releases), visit:
28
+ # https://galaxy.ansible.com/api/v1/platforms/
29
+ #
30
+ # platforms:
31
+ # - name: Fedora
32
+ # versions:
33
+ # - all
34
+ # - 25
35
+ # - name: SomePlatform
36
+ # versions:
37
+ # - all
38
+ # - 1.0
39
+ # - 7
40
+ # - 99.99
41
+
42
+ galaxy_tags: []
43
+ # List tags for your role here, one per line. A tag is a keyword that describes
44
+ # and categorizes the role. Users find roles by searching for tags. Be sure to
45
+ # remove the '[]' above, if you add tags to this list.
46
+ #
47
+ # NOTE: A tag is limited to a single word comprised of alphanumeric characters.
48
+ # Maximum 20 tags per role.
49
+
50
+ dependencies: []
51
+ # List your role dependencies here, one per line. Be sure to remove the '[]' above,
52
+ # if you add dependencies to this list.
53
+
@@ -0,0 +1,20 @@
1
+ ---
2
+ - name: Install all updates with automatic reboots
3
+ win_updates:
4
+ reboot: yes
5
+ reboot_timeout: 1800
6
+
7
+ - name: Install git
8
+ win_chocolatey:
9
+ name: git
10
+ state: present
11
+
12
+ - name: Install ruby
13
+ win_chocolatey:
14
+ name: ruby
15
+ state: present
16
+
17
+ - name: Install openssh
18
+ win_chocolatey:
19
+ name: openssh
20
+ state: present
@@ -0,0 +1,2 @@
1
+ localhost
2
+
@@ -0,0 +1,5 @@
1
+ ---
2
+ - hosts: localhost
3
+ remote_user: root
4
+ roles:
5
+ - mu-windows
@@ -0,0 +1,2 @@
1
+ ---
2
+ # vars file for mu-windows
@@ -17,8 +17,8 @@ end
17
17
 
18
18
  Gem::Specification.new do |s|
19
19
  s.name = 'cloud-mu'
20
- s.version = '3.1.4'
21
- s.date = '2020-02-14'
20
+ s.version = '3.1.5'
21
+ s.date = '2020-03-03'
22
22
  s.require_paths = ['modules']
23
23
  s.required_ruby_version = '>= 2.4'
24
24
  s.summary = "The eGTLabs Mu toolkit for unified cloud deployments"
@@ -52,6 +52,7 @@ EOF
52
52
  s.add_runtime_dependency 'net-ssh-multi', '~> 1.2', '>= 1.2.1'
53
53
  s.add_runtime_dependency 'netaddr', '~> 2.0'
54
54
  s.add_runtime_dependency 'nokogiri', "~> 1.10"
55
+ s.add_runtime_dependency 'openssl-oaep', "~> 0.1"
55
56
  s.add_runtime_dependency 'optimist', "~> 3.0"
56
57
  s.add_runtime_dependency 'rack', "~> 2.0"
57
58
  s.add_runtime_dependency 'ruby-graphviz', "~> 1.2"
@@ -61,5 +62,6 @@ EOF
61
62
  s.add_runtime_dependency 'slack-notifier', "~> 2.3"
62
63
  s.add_runtime_dependency 'solve', '~> 4.0'
63
64
  s.add_runtime_dependency 'thin', "~> 1.7"
65
+ s.add_runtime_dependency 'winrm', "~> 2.3", ">= 2.3.4"
64
66
  s.add_runtime_dependency 'yard', "~> 0.9"
65
67
  end
@@ -4,7 +4,8 @@
4
4
  #
5
5
  # Copyright:: 2019, The Authors, All Rights Reserved.
6
6
 
7
- if !node['application_attributes']['skip_recipes'].include?('selinux')
7
+ if !node['application_attributes']['skip_recipes'].include?('selinux') and
8
+ (platform_family?("rhel") or platform_family?("amazon"))
8
9
 
9
10
  selinux_state "SELinux Enforcing" do
10
11
  action :enforcing
@@ -184,153 +184,149 @@ if !node['application_attributes']['skip_recipes'].include?('windows-client')
184
184
  # end
185
185
  # }
186
186
 
187
- reboot "Cygwin LSA" do
188
- action :nothing
189
- reason "Enabling Cygwin LSA support"
190
- end
191
-
192
- powershell_script "Configuring Cygwin LSA support" do
193
- code <<-EOH
194
- Invoke-Expression '& #{cygwindir}/bin/bash.exe --login -c "echo yes | /bin/cyglsa-config"'
195
- EOH
196
- not_if {
197
- lsa_found = false
198
- if registry_key_exists?("HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa")
199
- registry_get_values("HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa").each { |val|
200
- if val[:name] == "Authentication Packages"
201
- lsa_found = true if val[:data].grep(/cyglsa64\.dll/)
202
- break
203
- end
204
- }
205
- end
206
- lsa_found
207
- }
208
- notifies :reboot_now, "reboot[Cygwin LSA]", :immediately
209
- end
210
-
211
- powershell_script "enable Cygwin sshd" do
212
- code <<-EOH
213
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "ssh-host-config -y -c ntsec -w ''#{sshd_password}'' -u #{sshd_user}"'
214
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "sed -i.bak ''s/#.*StrictModes.*yes/StrictModes no/'' /etc/sshd_config"'
215
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "sed -i.bak ''s/#.*PasswordAuthentication.*yes/PasswordAuthentication no/'' /etc/sshd_config"'
216
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "chown #{sshd_user} /var/empty /var/log/sshd.log /etc/ssh*; chmod 755 /var/empty"'
217
- EOH
218
- sensitive true
219
- not_if %Q{Get-Service "sshd"}
220
- end
221
- powershell_script "set unix-style Cygwin sshd permissions" do
222
- code <<-EOH
223
- if((Get-WmiObject win32_computersystem).partofdomain){
224
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkpasswd -d > /etc/passwd"'
225
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkgroup -l -d > /etc/group"'
226
- } else {
227
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkpasswd -l > /etc/passwd"'
228
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkgroup -l > /etc/group"'
229
- }
230
- Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "chown #{sshd_user} /var/empty /var/log/sshd.log /etc/ssh*; chmod 755 /var/empty"'
231
- EOH
232
- end
233
-
234
- include_recipe 'mu-activedirectory'
235
-
236
- ::Chef::Recipe.send(:include, Chef::Mixin::PowershellOut)
237
-
238
- template "c:/bin/cygwin/etc/sshd_config" do
239
- source "sshd_config.erb"
240
- mode 0644
241
- cookbook "mu-tools"
242
- ignore_failure true
243
- end
244
-
245
- ec2config_user= windows_vault[node['windows_ec2config_username_field']]
246
- ec2config_password = windows_vault[node['windows_ec2config_password_field']]
247
- login_dom = "."
248
-
249
- if in_domain?
250
-
251
- ad_vault = chef_vault_item(node['ad']['domain_admin_vault'], node['ad']['domain_admin_item'])
252
- login_dom = node['ad']['netbios_name']
253
-
254
- windows_users node['ad']['computer_name'] do
255
- username ad_vault[node['ad']['domain_admin_username_field']]
256
- password ad_vault[node['ad']['domain_admin_password_field']]
257
- domain_name node['ad']['domain_name']
258
- netbios_name node['ad']['netbios_name']
259
- dc_ips node['ad']['dc_ips']
260
- ssh_user sshd_user
261
- ssh_password sshd_password
262
- ec2config_user ec2config_user
263
- ec2config_password ec2config_password
264
- end
265
-
266
- aws_windows "ec2" do
267
- username ec2config_user
268
- service_username "#{node['ad']['netbios_name']}\\#{ec2config_user}"
269
- password ec2config_password
270
- end
271
-
272
- scheduled_tasks "tasks" do
273
- username ad_vault[node['ad']['domain_admin_username_field']]
274
- password ad_vault[node['ad']['domain_admin_password_field']]
275
- end
276
-
277
- sshd_service "sshd" do
278
- service_username "#{node['ad']['netbios_name']}\\#{sshd_user}"
279
- username sshd_user
280
- password sshd_password
281
- end
282
-
283
- begin
284
- resources('service[sshd]')
285
- escue Chef::Exceptions::ResourceNotFound
286
- service "sshd" do
287
- action [:enable, :start]
288
- sensitive true
289
- end
290
- end
291
- else
292
- windows_users node['hostname'] do
293
- username node['windows_admin_username']
294
- password windows_vault[node['windows_auth_password_field']]
295
- ssh_user sshd_user
296
- ssh_password sshd_password
297
- ec2config_user ec2config_user
298
- ec2config_password ec2config_password
299
- end
300
-
301
- aws_windows "ec2" do
302
- username ec2config_user
303
- service_username ".\\#{ec2config_user}"
304
- password ec2config_password
305
- end
306
-
307
- scheduled_tasks "tasks" do
308
- username node['windows_admin_username']
309
- password windows_vault[node['windows_auth_password_field']]
310
- end
311
-
312
- sshd_service "sshd" do
313
- username sshd_user
314
- service_username ".\\#{sshd_user}"
315
- password sshd_password
316
- end
317
- begin
318
- resources('service[sshd]')
319
- rescue Chef::Exceptions::ResourceNotFound
320
- service "Cygwin sshd as '#{sshd_user}'" do
321
- service_name "sshd"
322
- action [:enable, :start]
323
- sensitive true
324
- end
325
- end
326
- end
187
+ # reboot "Cygwin LSA" do
188
+ # action :nothing
189
+ # reason "Enabling Cygwin LSA support"
190
+ # end
191
+ #
192
+ # powershell_script "Configuring Cygwin LSA support" do
193
+ # code <<-EOH
194
+ # Invoke-Expression '& #{cygwindir}/bin/bash.exe --login -c "echo yes | /bin/cyglsa-config"'
195
+ # EOH
196
+ # not_if {
197
+ # lsa_found = false
198
+ # if registry_key_exists?("HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa")
199
+ # registry_get_values("HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa").each { |val|
200
+ # if val[:name] == "Authentication Packages"
201
+ # lsa_found = true if val[:data].grep(/cyglsa64\.dll/)
202
+ # break
203
+ # end
204
+ # }
205
+ # end
206
+ # lsa_found
207
+ # }
208
+ # notifies :reboot_now, "reboot[Cygwin LSA]", :immediately
209
+ # end
210
+ #
211
+ # powershell_script "enable Cygwin sshd" do
212
+ # code <<-EOH
213
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "ssh-host-config -y -c ntsec -w ''#{sshd_password}'' -u #{sshd_user}"'
214
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "sed -i.bak ''s/#.*StrictModes.*yes/StrictModes no/'' /etc/sshd_config"'
215
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash.exe --login -c "sed -i.bak ''s/#.*PasswordAuthentication.*yes/PasswordAuthentication no/'' /etc/sshd_config"'
216
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "chown #{sshd_user} /var/empty /var/log/sshd.log /etc/ssh*; chmod 755 /var/empty"'
217
+ # EOH
218
+ # sensitive true
219
+ # not_if %Q{Get-Service "sshd"}
220
+ # end
221
+ # powershell_script "set unix-style Cygwin sshd permissions" do
222
+ # code <<-EOH
223
+ # if((Get-WmiObject win32_computersystem).partofdomain){
224
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkpasswd -d > /etc/passwd"'
225
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkgroup -l -d > /etc/group"'
226
+ # } else {
227
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkpasswd -l > /etc/passwd"'
228
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "mkgroup -l > /etc/group"'
229
+ # }
230
+ # Invoke-Expression -Debug '& #{cygwindir}/bin/bash --login -c "chown #{sshd_user} /var/empty /var/log/sshd.log /etc/ssh*; chmod 755 /var/empty"'
231
+ # EOH
232
+ # end
233
+ #
234
+ # include_recipe 'mu-activedirectory'
235
+ #
236
+ # ::Chef::Recipe.send(:include, Chef::Mixin::PowershellOut)
237
+ #
238
+ # template "c:/bin/cygwin/etc/sshd_config" do
239
+ # source "sshd_config.erb"
240
+ # mode 0644
241
+ # cookbook "mu-tools"
242
+ # ignore_failure true
243
+ # end
244
+ #
245
+ # ec2config_user= windows_vault[node['windows_ec2config_username_field']]
246
+ # ec2config_password = windows_vault[node['windows_ec2config_password_field']]
247
+ # login_dom = "."
248
+ #
249
+ # if in_domain?
250
+ #
251
+ # ad_vault = chef_vault_item(node['ad']['domain_admin_vault'], node['ad']['domain_admin_item'])
252
+ # login_dom = node['ad']['netbios_name']
253
+ #
254
+ # windows_users node['ad']['computer_name'] do
255
+ # username ad_vault[node['ad']['domain_admin_username_field']]
256
+ # password ad_vault[node['ad']['domain_admin_password_field']]
257
+ # domain_name node['ad']['domain_name']
258
+ # netbios_name node['ad']['netbios_name']
259
+ # dc_ips node['ad']['dc_ips']
260
+ # ssh_user sshd_user
261
+ # ssh_password sshd_password
262
+ # ec2config_user ec2config_user
263
+ # ec2config_password ec2config_password
264
+ # end
265
+ #
266
+ # aws_windows "ec2" do
267
+ # username ec2config_user
268
+ # service_username "#{node['ad']['netbios_name']}\\#{ec2config_user}"
269
+ # password ec2config_password
270
+ # end
271
+ #
272
+ # scheduled_tasks "tasks" do
273
+ # username ad_vault[node['ad']['domain_admin_username_field']]
274
+ # password ad_vault[node['ad']['domain_admin_password_field']]
275
+ # end
276
+ #
277
+ # sshd_service "sshd" do
278
+ # service_username "#{node['ad']['netbios_name']}\\#{sshd_user}"
279
+ # username sshd_user
280
+ # password sshd_password
281
+ # end
282
+ #
283
+ # begin
284
+ # resources('service[sshd]')
285
+ # escue Chef::Exceptions::ResourceNotFound
286
+ # service "sshd" do
287
+ # action [:enable, :start]
288
+ # sensitive true
289
+ # end
290
+ # end
291
+ # else
292
+ # windows_users node['hostname'] do
293
+ # username node['windows_admin_username']
294
+ # password windows_vault[node['windows_auth_password_field']]
295
+ # ssh_user sshd_user
296
+ # ssh_password sshd_password
297
+ # ec2config_user ec2config_user
298
+ # ec2config_password ec2config_password
299
+ # end
300
+ #
301
+ # aws_windows "ec2" do
302
+ # username ec2config_user
303
+ # service_username ".\\#{ec2config_user}"
304
+ # password ec2config_password
305
+ # end
306
+ #
307
+ # scheduled_tasks "tasks" do
308
+ # username node['windows_admin_username']
309
+ # password windows_vault[node['windows_auth_password_field']]
310
+ # end
311
+ #
312
+ # sshd_service "sshd" do
313
+ # username sshd_user
314
+ # service_username ".\\#{sshd_user}"
315
+ # password sshd_password
316
+ # end
317
+ # begin
318
+ # resources('service[sshd]')
319
+ # rescue Chef::Exceptions::ResourceNotFound
320
+ # service "Cygwin sshd as '#{sshd_user}'" do
321
+ # service_name "sshd"
322
+ # action [:enable, :start]
323
+ # sensitive true
324
+ # end
325
+ # end
326
+ # end
327
327
  end
328
328
 
329
329
  else
330
330
  Chef::Log.info("mu-tools::windows-client: Unsupported platform #{node['platform']}")
331
331
  end
332
332
  end
333
- # Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
334
- #
335
- # Cookbook Name:: mu-tools
336
- # Recipe:: windows-client