Because puppet is declarative you can only have one instance of a resource with a particular title in the catalog. This means you cannot have two instances of a class in the catalog (though you can include a class multiple times but it only exists in the catalog once)
Luckily you do not have two instances of a class. 'zendserver::sdk::command' appears to be a defined type. Defined types generate resources. You can have multiple instances of a type so long as the title is unique. This is exactly what your example shows, two instances of 'zendserver::sdk::command' with two different titles. Now the good part for you. Defined types contain all of their unique resources. This means that any resources that get generated by 'zendserver::sdk::command' will honor the ordering metaparameters. See https://docs.puppet.com/puppet/4.10/lang_defined_types.html#containment The only thing you need to do to order your commands is add a -> after the closing } of the first command ie zendserver::sdk::command { "vhost_add_${vhostname}_${port}": target => $target, api_command => 'vhostAdd', additional_options => $additional_options, } -> zendserver::sdk::command { "vhost_reload_${vhostname}_${port}": target => $target, api_command => 'restartPhp', } Now all resources generated by Zendserver::Sdk::Command[ "vhost_reload_${vhostname}_${port}"] will apply /after/ the resources generated by Zendserver::Sdk::Command["vhost_add_${vhostname}_${port}"] Peace, Matt On Thu, Jun 1, 2017 at 4:07 PM Pete Brown <rendhal...@gmail.com> wrote: > The require meta parameter will do that. > On Thu, 1 Jun 2017 at 14:08, Ugo Bellavance <u...@lubik.ca> wrote: > >> Hi, >> >> I would need to execute a command after the execution of another and I >> didn't find anything on the web regarding this. Here's the code: >> >> if $vhost_name_fact != undef { >> >> } else { >> zendserver::sdk::command { "vhost_add_${vhostname}_${port}": >> target => $target, >> api_command => 'vhostAdd', >> additional_options => $additional_options, >> } >> zendserver::sdk::command { "vhost_reload_${vhostname}_${port}": >> target => $target, >> api_command => 'restartPhp', >> } >> } >> >> I would like to have the second command to always be executed once the >> first one has been executed. How would I do that? >> >> Thanks, >> >> Ugo >> >> -- >> 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 puppet-users+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/9d740bb9-1239-4c0f-935e-7b949b1c7ac6%40googlegroups.com >> <https://groups.google.com/d/msgid/puppet-users/9d740bb9-1239-4c0f-935e-7b949b1c7ac6%40googlegroups.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 Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/CAJ8DPF6nexPDcsYUqrtU4KYq_th6D_wyevdqNKzh32UwV1iQ9w%40mail.gmail.com > <https://groups.google.com/d/msgid/puppet-users/CAJ8DPF6nexPDcsYUqrtU4KYq_th6D_wyevdqNKzh32UwV1iQ9w%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 Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CACx1-q0tb4pbjkQ0WHuXDpB77W2OdU3iLFE_VgBScNq8epaGvQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.