Packaging Maya 2020

Onkston
New Contributor III

Similar my experience with AutoCAD 2021, Maya's silent installer didn't work unless a user was logged in. At least it worked at all. Here's my script to deploy it. You have to copy the installer to the /tmp directory. Also the only change needed to the script is your network license server address.

#!/bin/sh

#Instructions for next time
#Import install disk image with munkiimport
#Change installer_type to copy_from_dmg
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and pKey)

#Set variables

year="2020"
pkgPath1="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmapps18.pkg"
pkgPath2="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_AdLMconf2020.pkg"
pkgPath3="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmflexnetclient.pkg"
pkgPath4="/tmp/Install Maya 2020.app/Contents/Helper/Packages/AdSSO/AdSSO-v2.pkg"
pkgpath4a="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmframework18.pkg"
pkgPath5="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/AdskLicensing-9.2.1.2399-mac-installer.pkg"
pkgPath6="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_core2020.pkg"
pkgPath7="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/bifrost.pkg"
pkgPath8="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/MtoA.pkg"
pkgPath9="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/SubstanceInMaya-2.0.3-MAIN-2020-Darwin.pkg"

pKey="657L1"
networkServer="INSERT NETWORK SERVER ADDRESS HERE"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
    /usr/sbin/installer -verboseR -pkg "${pkgPath1}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath2}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath3}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4a}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath5}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath6}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath7}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath8}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath9}" -target /
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"
    /bin/rm -rf "${tmpfile}"
}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp
28 REPLIES 28

PaulHazelden
Valued Contributor

Mudbox will probably be...

pkgPath1="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/ADLM/AdskLicensing-9.2.1.2399-mac-installer.pkg"
pkgPath2="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/ADLM/AdSSO-v2.pkg"
pkgPath3="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmapps18.pkg"
pkgPath4="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmflexnetclient.pkg"
pkgPath5="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmframework18.pkg"
pkgPath6="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/Mudbox/Mudbox_AdLMconf2020.pkg"
pkgPath7="/tmp/Mudbox 2020/Install Mudbox 2020.app/Contents/Packages/Mudbox/Mudbox_core2020.pkg"

With the Mudbox license key instead of the Maya one.
I got this order from its setup.xml. I have run it and everything appears to have installed properly, but our server is not yet set up with the license files. So launching the App actually failed to access the server, which I expected. Got to wait a while for them to migrate the license server to a new box, probably be next month before that happens. So if this works out let me know.
Paul

pitcherj
New Contributor III

Heya @Onkston!

Thanks for this!

FYI, it looks like there's a little tweaking necessary on your script - I modified it a bit so here's my copy (the pkgpath variable was missing in yours, so cleanup didn't happen, etc):

#!/bin/sh

#Instructions for next time
#Import install disk image with munkiimport
#Change installer_type to copy_from_dmg
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and pKey)

#Set variables

year="2020"
pkgPath="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app"
pkgPath1="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmapps18.pkg"
pkgPath2="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_AdLMconf2020.pkg"
pkgPath3="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmflexnetclient.pkg"
pkgPath4="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/AdSSO/AdSSO-v2.pkg"
pkgpath4a="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmframework18.pkg"
pkgPath5="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Licensing/AdskLicensing-9.2.1.2399-mac-installer.pkg"
pkgPath6="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_core2020.pkg"
pkgPath7="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Maya/bifrost.pkg"
pkgPath8="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Maya/MtoA.pkg"
pkgPath9="/usr/local/etc/JamfInstallers/Maya_2020/Install Maya 2020.app/Contents/Helper/Packages/Maya/SubstanceInMaya-2.0.3-MAIN-2020-Darwin.pkg"

pKey="657L1"
networkServer="INSERT NETWORK SERVER ADDRESS HERE"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
    /usr/sbin/installer -verboseR -pkg "${pkgPath1}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath2}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath3}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4a}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath5}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath6}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath7}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath8}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath9}" -target /
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"
    /bin/rm -rf "${tmpfile}"
}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

pitcherj
New Contributor III

FYI, here's the full mudbox one:

#!/bin/sh

#Instructions for next time
#Import install disk image with munkiimport
#Change installer_type to copy_from_dmg
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and pKey)

#Set variables

year="2020"
pkgPath="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app"
pkgPath1="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/ADLM/AdskLicensing-9.2.1.2399-mac-installer.pkg"
pkgPath2="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/ADLM/AdSSO-v2.pkg"
pkgPath3="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmapps18.pkg"
pkgPath4="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmflexnetclient.pkg"
pkgPath5="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/ADLM/adlmframework18.pkg"
pkgPath6="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/Mudbox/Mudbox_AdLMconf2020.pkg"
pkgPath7="/usr/local/etc/JamfInstallers/Mudbox_2020/Install Mudbox 2020.app/Contents/Packages/Mudbox/Mudbox_core2020.pkg"

pKey="498L1"
networkServer="INSERT NETWORK SERVER ADDRESS HERE"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
    /usr/sbin/installer -verboseR -pkg "${pkgPath1}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath2}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath3}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4a}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath5}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath6}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath7}" -target /
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"
    /bin/rm -rf "${tmpfile}"
}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

pitcherj
New Contributor III

And here's a modified one for Sketchbook Pro 2021, which doesn't need most of the guts of it since it's a single PKG shakes fist at Autodesk, why can't you make all of your products like this one

#!/bin/sh

#Instructions for next time
#Import install disk image with munkiimport
#Change installer_type to copy_from_dmg
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and pKey)

#Set variables

year="2021"

pKey="871M1"
networkServer="INSERT NETWORK SERVER ADDRESS HERE"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}

#Run script
createLicenseFiles
licenceHelper

macbrun
New Contributor III

OP's script worked like a champ! Thank you!

pclyttle
New Contributor II

Thank you! For OP and for the Sketchbook Pro addition!

MBrownUoG
Contributor

Just wanted to say thanks for the work on these! You've all made my life very simple today, and in times like the present I genuinely appreciate that.

Bia
New Contributor III

Hello, this looks extremely helpful but I have never used munkiimport before. I packaged the Maya app using Composer initially and that does not seem to be working. Looking for some guidance in the right direction. I downloaded the munkitools pkg here https://github.com/munki/munki/releases, but not sure if that is what I need. Or should I download Munki-Pkg at https://www.munki.org? I feel silly asking, but I fly solo at a university managing 200 Macs & 3500 iOS. Apple is a foreign language to everyone else. I have no peers to collaborate with, so thank you in advance!

pitcherj
New Contributor III

@BRoper

Sorry you're alone there!

Skip the notes at the top, probably notes for the original creator of the script - no need to do anything with munkiimport.

Just grab the maya installer, stick the installer into a folder in /tmp, and then drag that folder into the left-hand pane in composer.

Then just copy/paste the script from above, modifying serial number/license server, and folder paths as necessary, and add it as a script to your Jamf environment.

Create a new policy, add the PKG to it, add the script to it, and you're basically done.

I moved to using vendor installers for most everything I could on the Windows side, so it's refreshing to see vendors coming along on the macOS side to permit silent installation, as repackaging puts you in a precarious support scenario with any vendor - using vendor installers takes a handful of variables out of the equation and should be the first step, especially in a flying-solo environment since you want to make sure either (a) support is the easiest to get or (b) your success rate is high and yo-yo rate is low.

Have a great day!

robertojok
Contributor

Flying solo, that’s the life! Jedi style... Jamf nation is the greatest resource space for macs even better than Apple and to a large extent all venders that publish Mac software... try Autodesk and feel the pain... yes that script is all you need as mentioned above.

Onkston
New Contributor III

Sorry about that. You don’t need munki import. Just put installed in /tmp. Apologies again.

Bia
New Contributor III

@pitcherj Thank you so much! I saw your response and got it working that day. All of your feedback is appreciated, and I agree with you.

Bia
New Contributor III

@Onkston no worries at all, and I appreciate your response. This was a lifesaver and overall a great process! Thank you

kacey3
Contributor II

I've kept this post pinned for a few weeks now, intending to give it a go once we had some other more critical issues tackled. I literally copied and pasted the script, made a couple of changes (we store our installers in a different location) and ran the policy.

It worked like a charm. Thanks so much for putting this together. Kudos!

kema808
New Contributor II

@pitcherj

we don't use a license server. If we modify the script with Serial Number instead and change the echo portions, is there anything specific we would need to make sure we have for it to work properly?

Onkston
New Contributor III

@kema808 Look here: https://www.jamf.com/jamf-nation/discussions/35944/autocad-2021-deployment-with-network-server

It’s for autocad but should be helpful.

Thanks for all the modifications everyone. Never knew it would be so helpful. As I have to update the other painful deployments I’ll make sure to post here.

kema808
New Contributor II

@Onkston Thank you and I appreciate the response!

We ended up editing the deployment_maya.xml file and were able to get it installed with the standalone license based off this AutoDesk article

Majid
New Contributor II

a

fedagain
Contributor

Hello, anyone have any insight as to why the Maya script listed above is not licensing it correctly, but the Mudbox script is working perfectly. If I install both Maya and Mudbox, and launch Mudbox first, then Maya launches without license issue, but if I launch just Maya first, I have to manually license Maya.

Both are pointing to the same license server.

Please advise.

Thanks
David

pitcherj
New Contributor III

@fedagain

Did you try the script I posted above?

I made some tweaks to it.

Make sure to plug your license server in on the networkserver variable.

fedagain
Contributor

@pitcherj

Yes, I used your script and have the server plugged in, same server as mudbox, which works fine. Strange!

fedagain
Contributor

@pitcherj

I'm a putz.... I somehow got the scripts crossed... corrected to your script / tested / good!

Thank you!

teodle
Contributor II

This is all great stuff. I got Maya and Mudbox to work perfectly. But now they want Flame.
So the JAMF package copies the Install Flame 2020 Educational Edition.pkg to temp but there were so many package installers I tried to loop but it's erroring out. Any help would be super appreciated
See the declared function for runInstaller. That's whats broken. errors with "syntax error near unexpected token '>'"

#!/bin/sh
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and NetworkServer for Flame 2021)

#Set variables

year="2021"
pkgPath="/tmp/Install Flame Educational Edition/Contents/Resources/dist"


#pKey="Not needed for Flame 2021 Educational if using networkServer"
networkServer="REDACTED"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
    while read PKG; do
    /usr/bin/installer -pkg "${PKG}" -tgt / -verbose
done < <(find "${pkgPath}" -name *.pkg -o -name *.mpkg)

}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"
    /bin/rm -rf "${tmpfile}"
}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

pitcherj
New Contributor III

Heya @teodle!

Not sure if this is the root cause of your issue or not, but the "pkgPath" variable at the top is currently set to "/tmp/Install Flame Educational Edition/Contents/Resources/dist" in your script but it should be the full path including the filename of the pkg file.

Let me know if setting that to the full path/filename of wherever you're dumping the PKG file gets it for ya!

Have a great day!

teodle
Contributor II

right but there are 30+ packages in that location. which is why I was trying a while;do loop statement so it would just install them all

teodle
Contributor II

SUCCESS. Here's the script I used for AutoDesk Flame and it installed all 30 packages by looping through the /dist folder. The problem with the earlier loop (I believe anyway) is that I had declared it to be a sh script but the syntax is for bash. Once I got the syntax fixed I then realized that there was no need to use the "find" command at all, since all the files in the path variable were .pkg files in the first place. Sadly, the software itself is problematic. Whether I use JAMF to deploy or perform a manual install the stone+wire Process won't start up and Flame exits, but that's another problem for another day.

#!/bin/bash


#Copy installer  to /tmp
#Modify values below as necessary (Usually: year and NetworkServer for Flame 2021)

#Set variables

year="2021"
pkgPath="/tmp/Install Flame Educational Edition.app/Contents/Resources/dist/"


#pKey="Not needed for Flame 2021 Educational if using networkServer"
networkServer="server_path_redacted_for_posting"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
   for file in "${pkgPath}"*.pkg 
   do
    /usr/sbin/installer -pkg "${file}" -target / -verbose
done
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"

}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

DeployAdam
New Contributor III

This script worked perfectly fine for Maya 2020. Now they want Maya 2022. Anyone altered this script already to use for Maya 2022? I tried modifying 2020 to 2022 but in this new installer there are a few other files in the content/licensing folder.

So please do share your script. Thank you in advance.

pitcherj
New Contributor III

@DeployAdam

I think what you are looking for (and for any other weary internet travelers that end up on this post looking for 2022 stuff) is here:
2022 Autodesk Stuff