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
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_name, #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.
- #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, #after_created, #as_json, #cookbook_version, #custom_exception_message, #customize_exception, #declared_key, #defined_at, #delayed_notifications, dsl_name, #epic_fail, #events, #guard_interpreter, #identity, identity_attr, #immediate_notifications, #inspect, #is, json_create, #load_from, #method_missing, #name, #node, #noop, #not_if, #notifies, #notifies_delayed, #notifies_immediately, #only_if, #provider, #provider=, provider_base, #provider_for_action, #resolve_notification_references, resource_for_node, resource_matching_short_name, #resources, #run_action, #should_skip?, #state, state_attrs, #subscribes, #supports, #supports=, #to_hash, #to_json, #to_s, #to_text, #updated?, #updated_by_last_action, #updated_by_last_action?, #validate_action, #validate_resource_spec!
Methods included from Mixin::Provides
#node_map, #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, #snake_case_basename
Methods included from Mixin::Deprecation
Methods included from Mixin::ParamsValidate
#lazy, #set_or_return, #validate
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.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/chef/resource/execute.rb', line 35 def initialize(name, run_context=nil) super @resource_name = :execute @command = name @backup = 5 @action = "run" @creates = nil @cwd = nil @environment = nil @group = nil @path = nil @returns = 0 @timeout = nil @user = nil @allowed_actions.push(:run) @umask = nil @default_guard_interpreter = :execute @is_guard_interpreter = 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
143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/chef/resource/execute.rb', line 143 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
139 140 141 |
# File 'lib/chef/resource/execute.rb', line 139 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 |
#path(arg = nil) ⇒ Object
105 106 107 108 109 110 111 112 113 |
# File 'lib/chef/resource/execute.rb', line 105 def path(arg=nil) Chef::Log.warn "'path' attribute of 'execute' is not used by any provider in Chef 11 and 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
115 116 117 118 119 120 121 |
# File 'lib/chef/resource/execute.rb', line 115 def returns(arg=nil) set_or_return( :returns, arg, :kind_of => [ Integer, Array ] ) end |
#timeout(arg = nil) ⇒ Object
123 124 125 126 127 128 129 |
# File 'lib/chef/resource/execute.rb', line 123 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
131 132 133 134 135 136 137 |
# File 'lib/chef/resource/execute.rb', line 131 def user(arg=nil) set_or_return( :user, arg, :kind_of => [ String, Integer ] ) end |