Class: MintPress::Resources::Limits

Inherits:
AugeasIterator show all
Includes:
MintLogger, Mixins::Properties
Defined in:
src/mintpress-resources/lib/mintpress-resources/limits.rb

Overview

This resource will set ulimits on unix based platforms. Note that it will create limits.d entries out of the box, however this can be overridden to work on the main limits.conf file

Properties (Read/Write)

  • #name ⇒ String
    Internal name for the limit definition

    Property Attributes
    
    
    15
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 15
    
    property :name, type: String
  • #user ⇒ String
    Which user to apply the limit to - '*' for all users

    Property Attributes
    • aug_name'domain'
    • aug_indextrue
    • aug_index_var'true'
    
    
    17
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 17
    
    property :user, type: String, aug_name: 'domain', aug_index: true, aug_index_var: 'true'
  • #type ⇒ String
    Type of limit - always 'hard' or 'soft'

    Property Attributes
    • aug_name'type'
    • allowable_values['hard', 'soft']
    • aug_indextrue
    
    
    19
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 19
    
    property :type, type: String, aug_name: 'type', allowable_values: ['hard', 'soft'], aug_index: true
  • #item ⇒ String
    Which limit type to apply - for example, `nproc`

    Property Attributes
    • aug_name'item'
    • aug_indextrue
    
    
    21
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 21
    
    property :item, type: String, aug_name: 'item', aug_index: true
  • #value ⇒ String
    The value of the limit

    Property Attributes
    • aug_name'value'
    
    
    23
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 23
    
    property :value, type: String, aug_name: 'value'
  • #filename (Default Value: "/etc/security/limits.d/#{self.name}.conf")
    The fileame to apply the limit in - if you want to modify the _global_ rather than individual limit configurations, set this to /etc/security/limits.conf

    Property Attributes
    • default"/etc/security/limits.d/#{self.name}.conf"
    
    
    26
    # File 'src/mintpress-resources/lib/mintpress-resources/limits.rb', line 26
    
    property :filename, default: "/etc/security/limits.d/#{self.name}.conf"
  • #name ⇒ String
    Things like tmpdir and so on?

    Property Attributes
    • requiredtrue
    
    
    38
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 38
    
    property :name, type: String, required: true
  • #host ⇒ MintPress::Infrastructure::Host (Default Value: Proc.new { r=nil if self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r })
    Host on which to operate. Depending on your system, this will usually default to localhost.

    Property Attributes
    • paralleltrue
    • defaultProc.new { r=nil if self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r }
    
    
    41
    42
    43
    44
    45
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 41
    
    property :host, type: MintPress::Infrastructure::Host, parallel: true, default: Proc.new { r=nil
    if self.default_localhost
      r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user)
     end
    r }
  • #as_admin ⇒ [TrueClass, FalseClass] (Default Value: false)
    Should the operation be performed as an administratrive user (root on linux/unix, Adminstrator on windows) or should it be performed as unprivledged? The default behaviour is to perform as unprivledged unless otherwise asked.

    Property Attributes
    • defaultfalse
    
    
    66
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 66
    
    property :as_admin, type: [TrueClass, FalseClass], default: false

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods inherited from AugeasIterator

#create, #exists?, #find_index, #get_target

Constructor Details

#initialize(opts = {}) ⇒ Limits

Returns a new instance of Limits.