Reid, Ultimately, I went with your original suggestion ... it made more sense to build an 'rs_tag::conditional' definition that does the logic. Its done and implemented, thanks for the idea!
Matt Wise Sr. Systems Architect Nextdoor.com On Fri, May 23, 2014 at 11:31 AM, Reid Vandewiele <[email protected]>wrote: > In the type for it to make sense and be consistent with the usual > semantics I think you'd have to make it some kind of valid ensurable state. > For example, let people specify ensure=present_if_in_rightscale or some > better state name. > > That also suggests to options like ensure=$is_rightscale or other > fact-based approaches, where the fact is either true or undef. That would > probably work. > > It doesn't make a lot of sense to me to build a type that doesn't fail if > I say ensure=present and it can't be present, regardless of why not. Hence > why I'd say approach it from the perspective of what you're trying to > ensure. > > A noop provider could exist that would fail on ensure=present but succeed > on ensure=something_else_or_maybe_undef. > On May 23, 2014 11:16 AM, "Matt Wise" <[email protected]> wrote: > >> Thats definitely one way to do it... and in fact, I may do that today if >> I can't come up with another solution. I'd prefer to do it in the actual >> provider, but I could see how this is arguably cleaner. Before I do that >> though, is there no clean way to do this inside the Type or Provider? >> >> Matt Wise >> Sr. Systems Architect >> Nextdoor.com >> >> >> On Fri, May 23, 2014 at 11:12 AM, Reid Vandewiele <[email protected]>wrote: >> >>> How about just create a utility define to go with your custom type? E.g. >>> create an rs_tag::conditional define, then use that instead of the rs_tag >>> type directly. You can put the conditional logic in the define and it's >>> about as clean as it gets. You also don't have to muck about with the logic >>> at the provider level. >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Puppet Developers" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/puppet-dev/GWFjYkHT-e8/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/puppet-dev/de388f38-9daf-4725-aea7-b06b315b30d2%40googlegroups.com >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Puppet Developers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/puppet-dev/GWFjYkHT-e8/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-dev/CAOHkZxMoNN6s-m0y4jgrZe9OgVP6%2BN%3DV4uQvwFA7DrObMfqD-w%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CAOHkZxMoNN6s-m0y4jgrZe9OgVP6%2BN%3DV4uQvwFA7DrObMfqD-w%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "Puppet Developers" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/puppet-dev/GWFjYkHT-e8/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-dev/CAHNFGkPCZHtfRoBB8rSt6ugj13yzkj7JQAbAqT0HQaK1SeJj-w%40mail.gmail.com<https://groups.google.com/d/msgid/puppet-dev/CAHNFGkPCZHtfRoBB8rSt6ugj13yzkj7JQAbAqT0HQaK1SeJj-w%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev/CAOHkZxPLh7FH%2B%3DUpUKkpZGPjV0bcAPcD-MtCT53Fc5CwqUApEg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
