Class: Chef::Resource::PowershellScript

Inherits:
WindowsScript show all
Defined in:
lib/chef/resource/powershell_script.rb

Constant Summary

Constants inherited from Chef::Resource

FORBIDDEN_IVARS, HIDDEN_IVARS

Instance Attribute Summary

Attributes inherited from Execute

#is_guard_interpreter

Attributes inherited from Chef::Resource

#allowed_actions, #cookbook_name, #declared_type, #default_guard_interpreter, #elapsed_time, #enclosing_provider, #executed_by_runner, #logger, #params, #recipe_name, #resource_initializing, #run_context, #source_line, #updated

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from WindowsScript

#architecture

Methods included from Mixin::WindowsArchitectureHelper

#assert_valid_windows_architecture!, #disable_wow64_file_redirection, #forced_32bit_override_required?, #is_i386_process_on_x86_64_windows?, #node_supports_windows_architecture?, #node_windows_architecture, #restore_wow64_file_redirection, #valid_windows_architecture?, #with_os_architecture, #wow64_architecture_override_required?, #wow64_directory

Methods inherited from Script

#command

Methods inherited from Execute

#after_created, guard_inherited_attributes, #qualify_user, set_guard_inherited_attributes, #validate_identity_platform

Methods inherited from Chef::Resource

action, #action, #action=, action_class, #after_created, allowed_actions, allowed_actions=, #as_json, #before_notifications, chef_version_for_provides, #compile_time, #cookbook_version, #current_value, #current_value_does_not_exist!, #custom_exception_message, custom_resource?, #customize_exception, declare_action_class, #declared_key, default_action, default_action=, default_description, #defined_at, #delayed_action, #delayed_notifications, deprecated, description, #events, examples, from_hash, from_json, #guard_interpreter, #identity, identity_attr, identity_property, #ignore_failure, #immediate_notifications, inherited, #inspect, introduced, is_custom_resource!, json_create, load_current_value, #load_from, #lookup_provider_constant, #method_missing, #name, #node, #not_if, #notifies, #notifies_before, #notifies_delayed, #notifies_immediately, #only_if, preview_resource, #provider, #provider=, #provider_for_action, provides, provides?, #resolve_notification_references, resource_for_node, resource_matching_short_name, #resource_name, resource_name, resource_name=, #retries, #retry_delay, #run_action, #sensitive, #should_skip?, skip_docs, sorted_descendants, #source_line_file, #source_line_number, state_attrs, #state_for_resource_reporter, #subscribes, #suppress_up_to_date_messages?, #to_h, #to_json, #to_s, #to_text, unified_mode, #updated?, #updated_by_last_action, #updated_by_last_action?, use, #validate_action, #validate_resource_spec!, #value_to_text

Methods included from Mixin::Provides

#provided_as, #provides, #provides?

Methods included from Mixin::DescendantsTracker

#descendants, descendants, direct_descendants, #direct_descendants, find_descendants_by_name, #find_descendants_by_name, #inherited, store_inherited

Methods included from Mixin::LazyModuleInclude

#descendants, #include, #included

Methods included from Mixin::ShellOut

apply_default_env, maybe_add_timeout, #shell_out, #shell_out!

Methods included from Mixin::PowershellOut

#powershell_out, #powershell_out!

Methods included from Mixin::PowershellExec

#powershell_exec, #powershell_exec!

Methods included from DSL::Powershell

#ps_credential

Methods included from DSL::RegistryHelper

#registry_data_exists?, #registry_get_subkeys, #registry_get_values, #registry_has_subkeys?, #registry_key_exists?, #registry_value_exists?

Methods included from DSL::ChefVault

#chef_vault, #chef_vault_item, #chef_vault_item_for_environment

Methods included from DSL::DataQuery

#data_bag, #data_bag_item, #search, #tagged?

Methods included from EncryptedDataBagItem::CheckEncrypted

#encrypted?

Methods included from DSL::PlatformIntrospection

#older_than_win_2012_or_8?, #platform?, #platform_family?, #value_for_platform, #value_for_platform_family

Methods included from Mixin::ConvertToClassName

#constantize, #convert_to_class_name, #convert_to_snake_case, #filename_to_qualified_string, #normalize_snake_case_name, #snake_case_basename

Methods included from Mixin::Deprecation

#deprecated_attr, #deprecated_attr_reader, #deprecated_attr_writer, #deprecated_ivar

Methods included from Mixin::Properties

#copy_properties_from, included, #property_description, #property_is_set?, #reset_property

Methods included from Mixin::ParamsValidate

#lazy, #set_or_return, #validate

Methods included from DSL::RebootPending

#reboot_pending?

Methods included from DSL::DeclareResource

#build_resource, #declare_resource, #delete_resource, #delete_resource!, #edit_resource, #edit_resource!, #find_resource, #find_resource!, #resources, #with_run_context

Constructor Details

#initialize(name, run_context = nil) ⇒ PowershellScript



51
52
53
54
# File 'lib/chef/resource/powershell_script.rb', line 51

def initialize(name, run_context = nil)
  super(name, run_context, :powershell_script, "powershell.exe")
  @convert_boolean_return = false
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Chef::Resource

Class Method Details

.get_default_attributes(opts) ⇒ Object

Allow callers evaluating guards to request default attribute values. This is needed to allow convert_boolean_return to be true in guard context by default, and false by default otherwise. When this mode becomes the default for this resource, this method can be removed since guard context and recipe resource context will have the same behavior.



71
72
73
# File 'lib/chef/resource/powershell_script.rb', line 71

def self.get_default_attributes(opts)
  { convert_boolean_return: true }
end

Instance Method Details

#convert_boolean_return(arg = nil) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/chef/resource/powershell_script.rb', line 56

def convert_boolean_return(arg = nil)
  set_or_return(
    :convert_boolean_return,
    arg,
    kind_of: [ FalseClass, TrueClass ]
  )
end

#default_flagsObject

Options that will be passed to Windows PowerShell command



78
79
80
81
82
# File 'lib/chef/resource/powershell_script.rb', line 78

def default_flags
  # Set InputFormat to None as PowerShell will hang if STDIN is redirected
  # http://connect.microsoft.com/PowerShell/feedback/details/572313/powershell-exe-can-hang-if-stdin-is-redirected
  "-NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass -InputFormat None"
end