At first glance, I see you're trying to walk OID "ldskHasFailedSet", but that's not a table, that's a NOTIFICATION-TYPE object. Presumably this is an OID which would be used in a trap message, not an OID that you can poll using get/getbulk. Therefore, I think even if you get the generator to work, it's not going to do anything useful.
However, the problem you have appears to be down to how you're running the generator and the mib files you're providing (or not providing). Since the generator uses net-snmp to parse the files, you can get a more detailed error if you run the "snmptranslate" command.
e.g. suppose you have the mib file in a subdirectory called "mibs" within the current directory (but no other mibs are in that directory), and you run the following command:
$ MIBDIRS=mibs MIBS=: snmptranslate -On ThreeParMIB::ldskHasFailedSet
No log handling enabled - using stderr logging
MIB search path: mibs
Cannot find module (SNMPv2-TC): At line 74 in mibs/ThreeParMIB.mib
Cannot find module (SNMPv2-SMI): At line 79 in mibs/ThreeParMIB.mib
Module not found (SNMPv2-MIB): At line 236 in mibs/ThreeParMIB.mib
Module not found (SNMPv2-MIB): At line 251 in mibs/ThreeParMIB.mib
Did not find 'DisplayString' in module #-1 (mibs/ThreeParMIB.mib)
Did not find 'enterprises' in module #-1 (mibs/ThreeParMIB.mib)
Unlinked OID in ThreeParMIB: threepar ::= { enterprises 12925 }
Undefined identifier: enterprises near line 81 of mibs/ThreeParMIB.mib
ThreeParMIB::ldskHasFailedSet: Unknown Object Identifier
You can see all the other mib files it's referring to, and failing to find.
Next, suppose you have a checkout of the snmp_exporter git repository, and you are in the "generator" subdirectory. Now you type "make generate" which fetches all the dependent mibs. After doing this, you copy the TreeParMIB.mib file into the mibs subdirectory in addition to those already there.
Now we see:
$ MIBDIRS=mibs MIBS=: snmptranslate -On ThreeParMIB::ldskHasFailedSet
.1.3.6.1.4.1.12925.1.2.0.21
Successful. (I strongly recommend you use the mibs downloaded by "make generate", not any mibs you happen to have lying around on your system; those are often broken).
Now you can run the generator, replacing generator.yml with the one you supplied:
$ MIBDIRS=mibs ~/go/bin/generator generate
ts=2023-04-14T14:02:32.239Z caller=net_snmp.go:161 level=info msg="Loading MIBs" from=mibs
ts=2023-04-14T14:02:32.660Z caller=main.go:119 level=warn msg="NetSNMP reported parse error(s)" errors=2
ts=2023-04-14T14:02:32.739Z caller=main.go:51 level=info msg="Generating config for module" module=HPE_3PAR
ts=2023-04-14T14:02:32.762Z caller=main.go:66 level=info msg="Generated metrics" module=HPE_3PAR metrics=0
ts=2023-04-14T14:02:32.764Z caller=main.go:91 level=info msg="Config written" file=/Users/brian/git/snmp_exporter/generator/snmp.yml
This has successfully generated an snmp.yml:
$ cat snmp.yml
# WARNING: This file was auto-generated using snmp_exporter generator, manual changes will be lost.
HPE_3PAR:
walk:
- 1.3.6.1.4.1.12925.1.2.0.21
metrics: []
Don't worry about the "errors=2". I can see that "make generate" also says there are 2 errors; this must be some other issue in the set of MIBs.
Anyway: that's how you run the generator to create snmp.yml. But in order to get useful results, you'll have to select an OID tree that's actually walkable.