Class: Bolt::ResourceInstance
- Inherits:
 - 
      Object
      
        
- Object
 - Bolt::ResourceInstance
 
 
- Defined in:
 - lib/bolt/resource_instance.rb
 
Instance Attribute Summary collapse
- 
  
    
      #desired_state  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute desired_state.
 - 
  
    
      #events  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
Returns the value of attribute events.
 - 
  
    
      #state  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute state.
 - 
  
    
      #target  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute target.
 - 
  
    
      #title  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute title.
 - 
  
    
      #type  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute type.
 
Class Method Summary collapse
- 
  
    
      ._pcore_init_from_hash(_init_hash)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Needed by Puppet to serialize with _pcore_init_hash instead of the object’s attributes.
 - 
  
    
      ._pcore_type  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Needed by Puppet to recognize Bolt::ResourceInstance as a Puppet object when deserializing.
 - .format_reference(type, title) ⇒ Object
 - 
  
    
      .from_asserted_args(target, type, title, state = nil, desired_state = nil, events = nil)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Creates a ResourceInstance from positional arguments in a plan when calling ResourceInstance.new(target, type, title, …).
 - 
  
    
      .from_asserted_hash(resource_hash)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Creates a ResourceInstance from a data hash in a plan when calling ResourceInstance.new($resource_hash) or $target.set_resources($resource_hash).
 
Instance Method Summary collapse
- #[](attribute) ⇒ Object
 - #_pcore_init_from_hash(init_hash) ⇒ Object
 - #add_event(event) ⇒ Object
 - #assert_hash(loc, value) ⇒ Object
 - #eql?(other) ⇒ Boolean (also: #==)
 - 
  
    
      #initialize(resource_hash)  ⇒ ResourceInstance 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Parameters will already be validated when calling ResourceInstance.new or set_resources() from a plan.
 - 
  
    
      #overwrite_desired_state(desired_state)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
rubocop:enable Naming/AccessorMethodName.
 - 
  
    
      #overwrite_state(state)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
rubocop:enable Naming/AccessorMethodName.
 - #reference ⇒ Object (also: #to_s)
 - 
  
    
      #set_desired_state(desired_state)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
rubocop:disable Naming/AccessorMethodName.
 - 
  
    
      #set_state(state)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
rubocop:disable Naming/AccessorMethodName.
 - #to_hash ⇒ Object (also: #_pcore_init_hash)
 - #to_json(opts = nil) ⇒ Object
 
Constructor Details
#initialize(resource_hash) ⇒ ResourceInstance
Parameters will already be validated when calling ResourceInstance.new or set_resources() from a plan. We don’t perform any validation in the class itself since Puppet will pass an empty hash to the initializer as part of the deserialization process before passing the _pcore_init_hash.
      29 30 31 32 33 34 35 36  | 
    
      # File 'lib/bolt/resource_instance.rb', line 29 def initialize(resource_hash) @target = resource_hash['target'] @type = resource_hash['type'].to_s.capitalize @title = resource_hash['title'] @state = resource_hash['state'] || {} @desired_state = resource_hash['desired_state'] || {} @events = resource_hash['events'] || [] end  | 
  
Instance Attribute Details
#desired_state ⇒ Object (readonly)
Returns the value of attribute desired_state.
      7 8 9  | 
    
      # File 'lib/bolt/resource_instance.rb', line 7 def desired_state @desired_state end  | 
  
#events ⇒ Object
Returns the value of attribute events.
      8 9 10  | 
    
      # File 'lib/bolt/resource_instance.rb', line 8 def events @events end  | 
  
#state ⇒ Object (readonly)
Returns the value of attribute state.
      7 8 9  | 
    
      # File 'lib/bolt/resource_instance.rb', line 7 def state @state end  | 
  
#target ⇒ Object (readonly)
Returns the value of attribute target.
      7 8 9  | 
    
      # File 'lib/bolt/resource_instance.rb', line 7 def target @target end  | 
  
#title ⇒ Object (readonly)
Returns the value of attribute title.
      7 8 9  | 
    
      # File 'lib/bolt/resource_instance.rb', line 7 def title @title end  | 
  
#type ⇒ Object (readonly)
Returns the value of attribute type.
      7 8 9  | 
    
      # File 'lib/bolt/resource_instance.rb', line 7 def type @type end  | 
  
Class Method Details
._pcore_init_from_hash(_init_hash) ⇒ Object
Needed by Puppet to serialize with _pcore_init_hash instead of the object’s attributes
      16 17 18 19  | 
    
      # File 'lib/bolt/resource_instance.rb', line 16 def self._pcore_init_from_hash(_init_hash) raise "ResourceInstance shouldn't be instantiated from a pcore_init class method. "\ "How did this get called?" end  | 
  
._pcore_type ⇒ Object
Needed by Puppet to recognize Bolt::ResourceInstance as a Puppet object when deserializing
      11 12 13  | 
    
      # File 'lib/bolt/resource_instance.rb', line 11 def self._pcore_type ResourceInstance end  | 
  
.format_reference(type, title) ⇒ Object
      86 87 88  | 
    
      # File 'lib/bolt/resource_instance.rb', line 86 def self.format_reference(type, title) "#{type.capitalize}[#{title}]" end  | 
  
.from_asserted_args(target, type, title, state = nil, desired_state = nil, events = nil) ⇒ Object
Creates a ResourceInstance from positional arguments in a plan when calling ResourceInstance.new(target, type, title, …)
      46 47 48 49 50 51 52 53 54 55 56 57 58 59 60  | 
    
      # File 'lib/bolt/resource_instance.rb', line 46 def self.from_asserted_args(target, type, title, state = nil, desired_state = nil, events = nil) new( 'target' => target, 'type' => type, 'title' => title, 'state' => state, 'desired_state' => desired_state, 'events' => events ) end  | 
  
.from_asserted_hash(resource_hash) ⇒ Object
Creates a ResourceInstance from a data hash in a plan when calling ResourceInstance.new($resource_hash) or $target.set_resources($resource_hash)
      40 41 42  | 
    
      # File 'lib/bolt/resource_instance.rb', line 40 def self.from_asserted_hash(resource_hash) new(resource_hash) end  | 
  
Instance Method Details
#[](attribute) ⇒ Object
      95 96 97  | 
    
      # File 'lib/bolt/resource_instance.rb', line 95 def [](attribute) @state[attribute] end  | 
  
#_pcore_init_from_hash(init_hash) ⇒ Object
      21 22 23  | 
    
      # File 'lib/bolt/resource_instance.rb', line 21 def _pcore_init_from_hash(init_hash) initialize(init_hash) end  | 
  
#add_event(event) ⇒ Object
      99 100 101  | 
    
      # File 'lib/bolt/resource_instance.rb', line 99 def add_event(event) @events << event end  | 
  
#assert_hash(loc, value) ⇒ Object
      127 128 129 130 131  | 
    
      # File 'lib/bolt/resource_instance.rb', line 127 def assert_hash(loc, value) unless value.is_a?(Hash) raise Bolt::ValidationError, "#{loc} must be of type Hash; got #{value.class}" end end  | 
  
#eql?(other) ⇒ Boolean Also known as: ==
      62 63 64 65 66 67  | 
    
      # File 'lib/bolt/resource_instance.rb', line 62 def eql?(other) self.class.equal?(other.class) && target == other.target && type == other.type && title == other.title end  | 
  
#overwrite_desired_state(desired_state) ⇒ Object
rubocop:enable Naming/AccessorMethodName
      122 123 124 125  | 
    
      # File 'lib/bolt/resource_instance.rb', line 122 def overwrite_desired_state(desired_state) assert_hash('desired_state', desired_state) @desired_state = desired_state end  | 
  
#overwrite_state(state) ⇒ Object
rubocop:enable Naming/AccessorMethodName
      110 111 112 113  | 
    
      # File 'lib/bolt/resource_instance.rb', line 110 def overwrite_state(state) assert_hash('state', state) @state = state end  | 
  
#reference ⇒ Object Also known as: to_s
      90 91 92  | 
    
      # File 'lib/bolt/resource_instance.rb', line 90 def reference self.class.format_reference(@type, @title) end  | 
  
#set_desired_state(desired_state) ⇒ Object
rubocop:disable Naming/AccessorMethodName
      116 117 118 119  | 
    
      # File 'lib/bolt/resource_instance.rb', line 116 def set_desired_state(desired_state) assert_hash('desired_state', desired_state) @desired_state.merge!(desired_state) end  | 
  
#set_state(state) ⇒ Object
rubocop:disable Naming/AccessorMethodName
      104 105 106 107  | 
    
      # File 'lib/bolt/resource_instance.rb', line 104 def set_state(state) assert_hash('state', state) @state.merge!(state) end  | 
  
#to_hash ⇒ Object Also known as: _pcore_init_hash
      70 71 72 73 74 75 76 77 78 79  | 
    
      # File 'lib/bolt/resource_instance.rb', line 70 def to_hash { 'target' => target, 'type' => type, 'title' => title, 'state' => state, 'desired_state' => desired_state, 'events' => events } end  | 
  
#to_json(opts = nil) ⇒ Object
      82 83 84  | 
    
      # File 'lib/bolt/resource_instance.rb', line 82 def to_json(opts = nil) to_hash.to_json(opts) end  |