Hello Austin, Thanks for your reply. The issue is I am trying to return certnames based on server_role which I dont think is a fact, correct me if I am wrong. And since puppet 5.2, we have nested key, values and not sure how do I reach that leaf. Please check the json snippet, if you haven't checked yet.
Thanks Biraj On Wed, Jul 17, 2019 at 3:55 AM Austin Blatt <[email protected]> wrote: > Apologies in advance if I didn't interpret your query properly, but I > believe you are looking to return the certnames of servers that have a > specific fact with a specific value, the best endpoint for that would > probably be inventory > <https://puppet.com/docs/puppetdb/6.3/api/query/v4/inventory.html> (or > maybe fact-contents > <https://puppet.com/docs/puppetdb/6.3/api/query/v4/fact-contents.html>). > A curl command for the inventory endpoint could look like this. > > curl -X POST http://<your-server>:8080/pdb/query/v4 \ > -H 'Content-Type:application/json' \ > -d '{"query": "inventory[certname] { facts.path.to.fact = \"your-value\" > }" }' > > The fact-content query would look similar, but you'd need to match path > and value there and it doesn't support dot notation like the inventory > endpoint. > > On Tue, Jul 16, 2019 at 10:16 AM Biraj Sahu <[email protected]> wrote: > >> >> PuppetDB version- 5.2 >> >> I want to retrieve list of servers with a specific role- tata_umg >> >> >> >> The json is in below format: >> >> [ >> >> { >> >> "certname":"<hostname>", >> >> "environment":"xxxx", >> >> "name":"xxxx_clientname", >> >> "value":{ >> >> "clientabc":{ >> >> "xxxx_productname":{ >> >> "tata":{ >> >> "xxxx_instanceid":"0", >> >> "xxxx_serverrole":[ >> >> "tata_umg" >> >> ] >> >> } >> >> } >> >> } >> >> } >> >> }] >> >> Can use below 2 get requests to reterive: >> >> curl -X GET ' >> http://puppetdb.aws.internal:8080/pdb/query/v4/facts/xxxx_clientname' >> >> curl -X GET 'http://puppetdb.aws.internal:8080/pdb/query/v4/facts' >> --data-urlencode 'query=["=", "name", "xxxx_clientname"]' >> >> >> >> But this gives me a json with all server's - 'xxxx_clientname' and not >> specific to a certain role. >> >> >> >> Can anyone please help me update the query to make it work as per my need. >> >> -- >> 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/8d2e4bc6-762e-4349-ac28-e20d587d36df%40googlegroups.com >> <https://groups.google.com/d/msgid/puppet-users/8d2e4bc6-762e-4349-ac28-e20d587d36df%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > *Austin Blatt* > Associate Software Engineer > [email protected] > > -- > 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/CADVW12Mn9LhuvtmqLpxbG5BWPbvsGHJaRK6Pybywg5eHEA__7g%40mail.gmail.com > <https://groups.google.com/d/msgid/puppet-users/CADVW12Mn9LhuvtmqLpxbG5BWPbvsGHJaRK6Pybywg5eHEA__7g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- BIRAJ Pune Ph no-08861077222 -- 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/CAHJs-WDtJgYOJyGnxR2k1p2x39rezU-ghJD0Oms-L8snvWh%2B3Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
