Puppet::Type.newtype(:servicemanager) do
        @doc = "Manage hosts through hostmanager"

        ensurable

        # Handle whether the service should actually be running right now.
        newproperty(:action) do
                desc "Whether a service should be running."

                newvalue(:stopped, :event => :service_stopped) do
                        provider.stop
                end

                newvalue(:running, :event => :service_started) do
                        provider.start
                end

                newvalue(:installed, :event => :service_installed) do
                        provider.install
                end

                newvalue(:latest, :event => :service_latest) do
                        provider.update
                end

                newvalue(:restarted, :event => :service_restarted) do
                        provider.restart
                end
        end

        newparam(:artifact) do
                desc "Artifact name"
                isnamevar
        end

        newparam(:release) do
                desc "Releases file for the artifact"
        end
end

