Class: Chef::Resource::Execute
- Inherits:
-
Chef::Resource
- Object
- Chef::Resource
- Chef::Resource::Execute
- Defined in:
- lib/chef/resource/execute.rb
Direct Known Subclasses
Constant Summary
Constants inherited from Chef::Resource
Constants included from Mixin::ShellOut
Mixin::ShellOut::DEPRECATED_OPTIONS
Instance Attribute Summary collapse
-
#is_guard_interpreter ⇒ Object
The ResourceGuardInterpreter wraps a resource’s guards in another resource.
Attributes inherited from Chef::Resource
#allowed_actions, #cookbook_name, #declared_type, #default_guard_interpreter, #elapsed_time, #enclosing_provider, #ignore_failure, #not_if_args, #only_if_args, #params, #recipe_name, #resource_initializing, #retries, #retry_delay, #run_context, #sensitive, #source_line, #updated
Class Method Summary collapse
- .guard_inherited_attributes(*inherited_attributes) ⇒ Object
- .set_guard_inherited_attributes(*inherited_attributes) ⇒ Object
Instance Method Summary collapse
- #command(arg = nil) ⇒ Object
- #creates(arg = nil) ⇒ Object
- #cwd(arg = nil) ⇒ Object
- #environment(arg = nil) ⇒ Object (also: #env)
- #group(arg = nil) ⇒ Object
-
#initialize(name, run_context = nil) ⇒ Execute
constructor
A new instance of Execute.
- #live_stream(arg = nil) ⇒ Object
- #path(arg = nil) ⇒ Object
- #returns(arg = nil) ⇒ Object
- #timeout(arg = nil) ⇒ Object
- #umask(arg = nil) ⇒ Object
- #user(arg = nil) ⇒ Object
Methods inherited from Chef::Resource
action, #action, #action=, action_class, #after_created, allowed_actions, allowed_actions=, #as_json, #before_notifications, #cookbook_version, #current_value, #current_value_does_not_exist!, #custom_exception_message, #customize_exception, declare_action_class, #declared_key, default_action, default_action=, #defined_at, #delayed_notifications, deprecated_constants, dsl_name, #events, #guard_interpreter, #identity, identity_attr, identity_property, #immediate_notifications, inherited, #inspect, #is, json_create, load_current_value, #load_from, #lookup_provider_constant, #method_missing, #name, #node, #noop, #not_if, #notifies, #notifies_before, #notifies_delayed, #notifies_immediately, #only_if, #provider, #provider=, provider_base, #provider_for_action, provides, provides?, register_deprecated_lwrp_class, #resolve_notification_references, resource_for_node, resource_matching_short_name, resource_name, #resource_name, resource_name=, #resources, #run_action, #should_skip?, sorted_descendants, #source_line_file, #source_line_number, state_attrs, #state_for_resource_reporter, #subscribes, #supports, #supports=, #to_hash, #to_json, #to_s, #to_text, #updated?, #updated_by_last_action, #updated_by_last_action?, use_automatic_resource_name, #validate_action, #validate_resource_spec!
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::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
included, #property_is_set?, #reset_property
Methods included from Mixin::ParamsValidate
#lazy, #set_or_return, #validate
Methods included from Mixin::PowershellOut
#powershell_out, #powershell_out!
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 included from Mixin::ShellOut
#run_command_compatible_options, #shell_out, #shell_out!, #shell_out_with_systems_locale, #shell_out_with_systems_locale!
Methods included from DSL::RebootPending
Methods included from DSL::PlatformIntrospection
#platform?, #platform_family?, #value_for_platform, #value_for_platform_family
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::DataQuery
#data_bag, #data_bag_item, #search
Methods included from EncryptedDataBagItem::CheckEncrypted
Constructor Details
#initialize(name, run_context = nil) ⇒ Execute
Returns a new instance of Execute.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/chef/resource/execute.rb', line 37 def initialize(name, run_context = nil) super @command = name @backup = 5 @creates = nil @cwd = nil @environment = nil @group = nil @path = nil @returns = 0 @timeout = nil @user = nil @umask = nil @default_guard_interpreter = :execute @is_guard_interpreter = false @live_stream = false end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Chef::Resource
Instance Attribute Details
#is_guard_interpreter ⇒ Object
The ResourceGuardInterpreter wraps a resource’s guards in another resource. That inner resource needs to behave differently during (for example) why_run mode, so we flag it here. For why_run mode we still want to execute the guard resource even if we are not executing the wrapping resource. Only execute resources (and subclasses) can be guard interpreters.
33 34 35 |
# File 'lib/chef/resource/execute.rb', line 33 def is_guard_interpreter @is_guard_interpreter end |
Class Method Details
.guard_inherited_attributes(*inherited_attributes) ⇒ Object
150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/chef/resource/execute.rb', line 150 def self.guard_inherited_attributes(*inherited_attributes) # Similar to patterns elsewhere, return attributes from this # class and superclasses as a form of inheritance ancestor_attributes = [] if superclass.respond_to?(:guard_inherited_attributes) ancestor_attributes = superclass.guard_inherited_attributes end ancestor_attributes.concat(@class_inherited_attributes ? @class_inherited_attributes : []).uniq end |
.set_guard_inherited_attributes(*inherited_attributes) ⇒ Object
146 147 148 |
# File 'lib/chef/resource/execute.rb', line 146 def self.set_guard_inherited_attributes(*inherited_attributes) @class_inherited_attributes = inherited_attributes end |
Instance Method Details
#command(arg = nil) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/chef/resource/execute.rb', line 63 def command(arg = nil) set_or_return( :command, arg, :kind_of => [ String, Array ] ) end |
#creates(arg = nil) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/chef/resource/execute.rb', line 71 def creates(arg = nil) set_or_return( :creates, arg, :kind_of => [ String ] ) end |
#cwd(arg = nil) ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/chef/resource/execute.rb', line 79 def cwd(arg = nil) set_or_return( :cwd, arg, :kind_of => [ String ] ) end |
#environment(arg = nil) ⇒ Object Also known as: env
87 88 89 90 91 92 93 |
# File 'lib/chef/resource/execute.rb', line 87 def environment(arg = nil) set_or_return( :environment, arg, :kind_of => [ Hash ] ) end |
#group(arg = nil) ⇒ Object
97 98 99 100 101 102 103 |
# File 'lib/chef/resource/execute.rb', line 97 def group(arg = nil) set_or_return( :group, arg, :kind_of => [ String, Integer ] ) end |
#live_stream(arg = nil) ⇒ Object
105 106 107 108 109 110 |
# File 'lib/chef/resource/execute.rb', line 105 def live_stream(arg = nil) set_or_return( :live_stream, arg, :kind_of => [ TrueClass, FalseClass ]) end |
#path(arg = nil) ⇒ Object
112 113 114 115 116 117 118 119 120 |
# File 'lib/chef/resource/execute.rb', line 112 def path(arg = nil) Chef::Log.warn "The 'path' attribute of 'execute' is not used by any provider in Chef 11 or Chef 12. Use 'environment' attribute to configure 'PATH'. This attribute will be removed in Chef 13." set_or_return( :path, arg, :kind_of => [ Array ] ) end |
#returns(arg = nil) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/chef/resource/execute.rb', line 122 def returns(arg = nil) set_or_return( :returns, arg, :kind_of => [ Integer, Array ] ) end |
#timeout(arg = nil) ⇒ Object
130 131 132 133 134 135 136 |
# File 'lib/chef/resource/execute.rb', line 130 def timeout(arg = nil) set_or_return( :timeout, arg, :kind_of => [ Integer, Float ] ) end |
#umask(arg = nil) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/chef/resource/execute.rb', line 55 def umask(arg = nil) set_or_return( :umask, arg, :kind_of => [ String, Integer ] ) end |
#user(arg = nil) ⇒ Object
138 139 140 141 142 143 144 |
# File 'lib/chef/resource/execute.rb', line 138 def user(arg = nil) set_or_return( :user, arg, :kind_of => [ String, Integer ] ) end |