Why is there two types of Puppet 'Exec' and Puppet 'exec'

puppet

Solution

In your code you can see three different usages of the keyword exec:

The first one

Exec {
    path => ["/usr/bin", "/bin", "/usr/sbin", "/sbin", "/usr/local/bin","/usr/local/sbin"]
}

changes the default value for the attribute path of the resource Exec.

The second one:

#execute the following command
exec { 

     #this is our command name
    'apt-get update':

creates a instance of the resource

The third one:

require => Exec['add php54 apt-repo']

refers to a existing instance using his name ('add php54 apt-repo')

Problem

This is going to be a Noob question. Why are there two types of Exec in Puppet, Exec and exec. I cannot find the difference between the two. ``` Exec { path => ["/usr/bin", "/bin", "/usr/sbin", "/sbin", "/usr/local/bin","/usr/local/sbin"] } #execute the following command exec { #this is our command name 'apt-get update': #the command to be executed command => '/usr/bin/apt-get update', #where we can find the required command require => Exec['add php54 apt-repo'] } ```

Original source