Class: Chef::Resource::RemoteFile
- Inherits:
-
File
- Object
- Chef::Resource
- File
- Chef::Resource::RemoteFile
- Includes:
- Mixin::Securable, Mixin::Uris
- Defined in:
- lib/chef/resource/remote_file.rb
Constant Summary
Constants inherited from Chef::Resource
Constants included from Mixin::ShellOut
Mixin::ShellOut::DEPRECATED_OPTIONS
Instance Attribute Summary
Attributes inherited from File
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
Instance Method Summary collapse
- #checksum(args = nil) ⇒ Object
- #ftp_active_mode(args = nil) ⇒ Object
- #headers(args = nil) ⇒ Object
-
#initialize(name, run_context = nil) ⇒ RemoteFile
constructor
A new instance of RemoteFile.
- #parse_source_args(args) ⇒ Object
- #show_progress(args = nil) ⇒ Object
-
#source(*args) ⇒ Object
source can take any of the following as arguments - A single string argument - Multiple string arguments - An array or strings - A delayed evaluator that evaluates to a string or array of strings All strings must be parsable as URIs.
-
#use_conditional_get(true_or_false) ⇒ Object
Disable or enable ETag and Last Modified conditional GET.
- #use_etag(args = nil) ⇒ Object (also: #use_etags)
- #use_last_modified(args = nil) ⇒ Object
Methods included from Mixin::Uris
Methods included from Mixin::Securable
#group, included, #mode, #owner
Methods included from Mixin::Securable::WindowsSecurableAttributes
Methods inherited from File
#special_docker_files?, #state_for_resource_reporter, #verify
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, 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?, #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 DeprecatedLWRPClass
#deprecated_constants, #register_deprecated_lwrp_class
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::ShellOut
#run_command_compatible_options, #shell_out, #shell_out!, #shell_out_with_systems_locale, #shell_out_with_systems_locale!
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 DSL::PlatformIntrospection
#docker?, #platform?, #platform_family?, #value_for_platform, #value_for_platform_family
Methods included from DSL::RebootPending
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) ⇒ RemoteFile
Returns a new instance of RemoteFile.
31 32 33 34 35 36 37 38 39 |
# File 'lib/chef/resource/remote_file.rb', line 31 def initialize(name, run_context = nil) super @source = [] @use_etag = true @use_last_modified = true @ftp_active_mode = false @headers = {} @provider = Chef::Provider::RemoteFile end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Chef::Resource
Instance Method Details
#checksum(args = nil) ⇒ Object
75 76 77 78 79 80 81 |
# File 'lib/chef/resource/remote_file.rb', line 75 def checksum(args = nil) set_or_return( :checksum, args, :kind_of => String ) end |
#ftp_active_mode(args = nil) ⇒ Object
109 110 111 112 113 114 115 |
# File 'lib/chef/resource/remote_file.rb', line 109 def ftp_active_mode(args = nil) set_or_return( :ftp_active_mode, args, :kind_of => [ TrueClass, FalseClass ] ) end |
#headers(args = nil) ⇒ Object
117 118 119 120 121 122 123 |
# File 'lib/chef/resource/remote_file.rb', line 117 def headers(args = nil) set_or_return( :headers, args, :kind_of => Hash ) end |
#parse_source_args(args) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/chef/resource/remote_file.rb', line 63 def parse_source_args(args) if args.empty? nil elsif args[0].is_a?(Chef::DelayedEvaluator) && args.count == 1 args[0] elsif args.any? { |a| a.is_a?(Chef::DelayedEvaluator) } && args.count > 1 raise Exceptions::InvalidRemoteFileURI, "Only 1 source argument allowed when using a lazy evaluator" else Array(args).flatten end end |
#show_progress(args = nil) ⇒ Object
125 126 127 128 129 130 131 132 |
# File 'lib/chef/resource/remote_file.rb', line 125 def show_progress(args = nil) set_or_return( :show_progress, args, :default => false, :kind_of => [ TrueClass, FalseClass ] ) end |
#source(*args) ⇒ Object
source can take any of the following as arguments
-
A single string argument
-
Multiple string arguments
-
An array or strings
-
A delayed evaluator that evaluates to a string or array of strings
All strings must be parsable as URIs. source returns an array of strings.
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/chef/resource/remote_file.rb', line 49 def source(*args) arg = parse_source_args(args) ret = set_or_return(:source, arg, { :callbacks => { :validate_source => method(:validate_source), } }) if ret.is_a? String Array(ret) else ret end end |
#use_conditional_get(true_or_false) ⇒ Object
Disable or enable ETag and Last Modified conditional GET. Equivalent to
use_etag(true_or_false)
use_last_modified(true_or_false)
86 87 88 89 |
# File 'lib/chef/resource/remote_file.rb', line 86 def use_conditional_get(true_or_false) use_etag(true_or_false) use_last_modified(true_or_false) end |
#use_etag(args = nil) ⇒ Object Also known as:
91 92 93 94 95 96 97 |
# File 'lib/chef/resource/remote_file.rb', line 91 def use_etag(args = nil) set_or_return( :use_etag, args, :kind_of => [ TrueClass, FalseClass ] ) end |
#use_last_modified(args = nil) ⇒ Object
101 102 103 104 105 106 107 |
# File 'lib/chef/resource/remote_file.rb', line 101 def use_last_modified(args = nil) set_or_return( :use_last_modified, args, :kind_of => [ TrueClass, FalseClass ] ) end |