windows_feature_dism resource¶
Use the windows_feature_dism resource to add, remove, or entirely delete Windows features and roles using DISM.
New in Chef Client 14.0.
Syntax¶
The windows_feature_dism resource has the following syntax:
windows_feature_dism 'name' do
all true, false # default value: false
feature_name Array, String # default value: 'name' unless specified
source String
timeout Integer # default value: 600
action Symbol # defaults to :install if not specified
end
where:
windows_feature_dismis the resource.nameis the name given to the resource block.actionidentifies which steps the chef-client will take to bring the node into the desired state.all,feature_name,source, andtimeoutare the properties available to this resource.
Actions¶
:install- Default. Install a Windows role / feature using DISM.
:remove- Remove a Windows role / feature using DISM.
:delete- Delete a Windows role / feature from the image using DISM.
Properties¶
allRuby Type: true, false | Default Value:
falseInstall all sub-features. When set to
true, this is the equivalent of specifying the/Allswitch todism.exe.feature_nameRuby Type: Array, String | Default Value:
'name'The name of the feature(s) or role(s) to install, if it differs from the resource name.
notifiesRuby Type: Symbol, ‘Chef::Resource[String]’
A resource may notify another resource to take action when its state changes. Specify a
'resource[name]', the:actionthat resource should take, and then the:timerfor that action. A resource may notify more than one resource; use anotifiesstatement for each resource to be notified.A timer specifies the point during the Chef Client run at which a notification is run. The following timers are available:
:before- Specifies that the action on a notified resource should be run before processing the resource block in which the notification is located.
:delayed- Default. Specifies that a notification should be queued up, and then executed at the end of the Chef Client run.
:immediate,:immediately- Specifies that a notification should be run immediately, per resource notified.
The syntax for
notifiesis:notifies :action, 'resource[name]', :timer
sourceRuby Type: String
Specify a local repository for the feature install.
subscribesRuby Type: Symbol, ‘Chef::Resource[String]’
A resource may listen to another resource, and then take action if the state of the resource being listened to changes. Specify a
'resource[name]', the:actionto be taken, and then the:timerfor that action.Note that
subscribesdoes not apply the specified action to the resource that it listens to - for example:file '/etc/nginx/ssl/example.crt' do mode '0600' owner 'root' end service 'nginx' do subscribes :reload, 'file[/etc/nginx/ssl/example.crt]', :immediately end
In this case the
subscribesproperty reloads thenginxservice whenever its certificate file, located under/etc/nginx/ssl/example.crt, is updated.subscribesdoes not make any changes to the certificate file itself, it merely listens for a change to the file, and executes the:reloadaction for its resource (in this examplenginx) when a change is detected.A timer specifies the point during the Chef Client run at which a notification is run. The following timers are available:
:before- Specifies that the action on a notified resource should be run before processing the resource block in which the notification is located.
:delayed- Default. Specifies that a notification should be queued up, and then executed at the end of the Chef Client run.
:immediate,:immediately- Specifies that a notification should be run immediately, per resource notified.
The syntax for
subscribesis:subscribes :action, 'resource[name]', :timer
timeoutRuby Type: Integer | Default Value:
600Specifies a timeout (in seconds) for the feature installation.