I think I was likely just thinking we need a way to control the output size, and for this first pass we can just focus on one. Since the PR has function args for for number of resources, and their sizes I think it's ok if total catalog size is an "output" rather than a specific configurable variable. I had totally forgotten about the "contains" edge... that's likely to be the dominant edge size I'll spin up a PE to check. I was thinking of depth as, there might be a difference between 9 edges as "resources 2 through 10 require resource 1" vs. 9 edges as "resource 1 thru 10 all require the previous resource". If contains is the dominant edge size, and there's no way to query for "depth", then it may only be edge number that matters and the other types are (at least for now) unnecessary. I am not that familiar with how defined types are modeled in Puppet, but there's no version of a defined type in PuppetDB afaik, so it is likely a Class (I think...). Type and Title are likely the two most important "sizes" since they are indexed together, so yeah the length of a defined type's namespace could be important to model. |