Hi Carl, As Markus indicates - you nearly always need to override the 'insync?' and 'retrieve' methods to return the appropriate values. That is, the default version of these methods only return :absent or :present from 'retrieve' and do a boolean comparison in 'insync?'.
You should also be able to drastically simplify your newvalue hooks - that style might still exist in some examples, but it shouldn't. You should be able to do things like: newvalue(:absent) do provider.destroy end The transaction is smart enough to only ever call 'destroy' if the provider isn't already absent. On Oct 18, 2010, at 7:14 AM, Markus Roberts wrote: > Carl -- > > What's in your manifest? Are you doing "ensure => latest"? > > If so, the results you are seeing could makes sense if you haven't done > anything to make "insync?" aware of versions. It would detect the resource > as "present" and then set it to "latest" each time. > > See lib/puppet/type/package.rb to see an example of making "insync?" > version-aware (though this is probably more complex than you need, as it's > also dealing with other issues at the same time). > > -- Markus > > On Sun, Oct 17, 2010 at 4:32 PM, Carl Caum <[email protected]> wrote: > Hello all. I can't seem to get my ensurable to work for a custom type I'm > working on. Every time I run puppet I just get the message "ensure changed > 'present' to 'latest'". I feel like I'm missing something obvious. > > > ensurable do > desc "Possible values are *present*, *absent*, *installed*, and > *latest*." > > newvalue(:absent) do > if provider.exists? > provider.destroy > end > end > > newvalue(:present) do > unless provider.exists? > provider.create > end > end > aliasvalue(:installed, :present) > > newvalue(:latest) do > unless provider.latest? > provider.update > end > end > end > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/puppet-dev?hl=en. > > > > > -- > ----------------------------------------------------------- > The power of accurate observation is > commonly called cynicism by those > who have not got it. ~George Bernard Shaw > ------------------------------------------------------------ > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/puppet-dev?hl=en. -- There are three kinds of death in this world. There's heart death, there's brain death, and there's being off the network. -- Guy Almes --------------------------------------------------------------------- Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
