Hi guys,

I am creating a type in custom provider, but I am not able to understand
the following question.

I created a basic type to understand the concept of things, as follows:
Puppet::Type.newtype(:mydir) do
    @doc = "First custom type."

    ensurable do
        defaultvalues
        defaultto :present
    end

    newparam(:name, :namevar => true) do
    end

    newparam(:install_location) do
    end
end


After creating the provider, but does not recognize the same and displays
the following error:
Error: Could not find a suitable provider for mydir
Notice: Applied catalog in 0.63 seconds

Puppet::Type.type(:mydir).provide(:linux) do

    defaultfor :operatingsystem => :linux
    confine    :operatingsystem => :linux

    commands :mkdir => "mkdir"
    commands :rm => "rm"

    def exists?
        Puppet.info("checking if is already deployed")
        deploy_dir = "#{resource[:install_location]}/#{resource[:name]}"

        File.directory?(deploy_dir) and Dir.entries(deploy_dir).size > 2
    end

    def create
        Puppet.info("Deploying the appliction")
        deploy_dir = "#{resource[:install_location]}/#{resource[:name]}"

        mkdir('-p', deploy_dir)
    end

    def destroy
        Puppet.info("Removing the appliction")
        deploy_dir = "#{resource[:install_location]}/#{resource[:name]}"
        rm('-rf',deploy_dir)
    end
end

  What I did not envisage is how Puppet identifies the provider to be used
in the OS?
-- 

Atenciosamente,

Rafael Tomelin

skype: rafael.tomelin

E-mail: [email protected]

RHCE      - Red Hat Certified Engineer
PPT-205 - Puppet Certified Professional 2017
Zabbix    - ZABBIX Certified Specialist
LPI3
ITIL v3

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAGEUqbCtgp2bo7CN8STqDxq5L4WZLCJXNT%2Buq7-qzpvVYaL3%2Bg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to