66: def status
67: if @resource[:status]
68: super
69: return
70: end
71:
72: begin
73: state = svcs("-H", "-o", "state", @resource[:name]).chomp
74: rescue Puppet::ExecutionFailure
75: info "Could not get status on service %s" % self.name
76: return :stopped
77: end
78:
79:
80: case state
81: when "online"
82:
83: return :running
84: when "offline", "disabled", "uninitialized"
85:
86: return :stopped
87: when "maintenance"
88: return :maintenance
89: when "legacy_run"
90: raise Puppet::Error,
91: "Cannot manage legacy services through SMF"
92: else
93: raise Puppet::Error,
94: "Unmanageable state '%s' on service %s" %
95: [state, self.name]
96: end
97:
98: end