summaryrefslogtreecommitdiff
path: root/lib/chef/resource/windows_dfs_server.rb
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2019-02-02 10:09:47 -0800
committerTim Smith <tsmith@chef.io>2019-02-02 10:09:47 -0800
commit2146563c2f305fd5dfab00b0e1ed07ee33884212 (patch)
tree1267c2c4c948515a69910dfa71aaf226ba6a7c77 /lib/chef/resource/windows_dfs_server.rb
parent0f4bd34e95111d755b646d85150698626e27fa3d (diff)
downloadchef-2146563c2f305fd5dfab00b0e1ed07ee33884212.tar.gz
Add windows_dfs and windows_dns resources
These are ported over from the windows_dns and windows_dfs cookbooks. Signed-off-by: Tim Smith <tsmith@chef.io>
Diffstat (limited to 'lib/chef/resource/windows_dfs_server.rb')
-rw-r--r--lib/chef/resource/windows_dfs_server.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/chef/resource/windows_dfs_server.rb b/lib/chef/resource/windows_dfs_server.rb
new file mode 100644
index 0000000000..ca583c7624
--- /dev/null
+++ b/lib/chef/resource/windows_dfs_server.rb
@@ -0,0 +1,40 @@
+#
+# Author:: Jason Field
+#
+# Copyright:: 2018, Calastone Ltd.
+# Copyright:: 2019, Chef Software, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+require "chef/resource"
+
+class Chef
+ class Resource
+ class WindowsDfsServer < Chef::Resource
+ resource_name :windows_dfs_server
+ provides :windows_dfs_server
+
+ # disable use of FQDN. https://docs.microsoft.com/en-us/powershell/module/dfsn/set-dfsnserverconfiguration?view=win10-ps
+ property :use_fqdn, [TrueClass, FalseClass], default: false
+
+ action :configure do
+ powershell_script "Configure DFS Server Settings" do
+ code <<-EOH
+ Set-DfsnServerConfiguration -ComputerName "#{ENV['COMPUTERNAME']}" -UseFqdn $#{new_resource.use_fqdn}
+ EOH
+ not_if "(Get-DfsnServerConfiguration -ComputerName '#{ENV['COMPUTERNAME']}').UseFqdn -eq $#{new_resource.use_fqdn}"
+ end
+ end
+ end
+ end
+end