docs: def state(self):
          """
          Get the SubResource state
  
          If the parents state has a higher priority, then it overrides the
          SubResource state
  
          ..note:: This assumes that self.parent is populated
          """
          state = self._resource.get('state', self.default_state)
          if state not in State:
              state = getattr(State, state)
  
          if not self.parent:
              raise Exception('Unable to check the parent state')
  
          parent_state = self.parent.state
  
          return max([state, parent_state], key=attrgetter('value'))