akamai / cli-property-manager

Use this Property Manager CLI to automate Akamai property changes and deployments across many environments.
Apache License 2.0
29 stars 22 forks source link

Rules with an asterisk in the name result in an error #45

Open Habu12 opened 5 years ago

Habu12 commented 5 years ago

When using the import option (e.g. akamai pm import -p "REDACTED"), an ENOENT: no such file or directory error occurs if the property contains a rule with an asterisk in the name (e.g. /.well-known/*.json):

PM CLI error occurred:  Error: ENOENT: no such file or directory, open 'C:\Users\REDACTED\Documents\Akamai Property Manager\REDACTED\config-snippets\_.well-known_*.json' Error: ENOENT: no such file or directory, open 'C:\Users\REDACTED\Documents\Akamai Property Manager\REDACTED\config-snippets\_.well-known_*.json'
    at Object.openSync (fs.js:434:3)
    at Object.writeFileSync (fs.js:1154:35)
    at Utils.writeFile (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\utils.js:102:12)
    at Utils.writeJsonFile (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\utils.js:94:14)
    at ProjectPropertyManager.storeTemplate (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\pm\project_property_manager.js:104:20)
    at ProjectPropertyManager._.each (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\pm\project_property_manager.js:204:22)
    at C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\node_modules\underscore\underscore.js:76:21
    at Function._.each._.forEach (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\node_modules\underscore\underscore.js:191:9)
    at ProjectPropertyManager.setupPropertyTemplate (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\pm\project_property_manager.js:203:15)
    at DevopsPropertyManager.importProperty (C:\Users\REDACTED\.akamai-cli\src\cli-promotional-deployment\src\pm\devops_property_manager.js:145:23)

Perhaps asterisks and other characters reserved by supported file systems and operating systems should be escaped (and round-tripped) during the import and upload (save) process.