Allow Changing Endpoints for a Live Skill
Allow the Endpoints to be changed for a Live skill WITHOUT submitting for re-certification.
In the new Developer Console for a Live (already published) skill, you can see the endpoint ARNs in textboxes which would indicate that they are editable, but the Save Endpoints button is disabled.
The following scenarios outline why the endpoints should be editable. The timing and reasons for changing the endpoints shows that they should be done without triggering a re-certification.
The skill's lambda function is hosted in a region that goes down. With a quick change of the ARNs, your skill will be Live again hosted from a different region. No re-certification needed. No changes were made to the skill and the timeliness of getting your skill active again to support users does not fit the timeline for re-certification.
You have already certified and published a skill and you discover a bug that is crashing your lambda. No utterances have changed, no responses have changed, but you want to quickly deploy a hotfix to the lambda function only. No re-certification needed. No changes were made to the skill features and the timeliness of getting your skill active again to support users does not fit the timeline for re-certification.
You are using versioning and aliasing of Lambda functions. You have two aliases: beta & prod. The first time you certified/published your skill, you used the 'prod' alias suffixed to the ARN. Weeks later, it is time to make changes to the interaction model and lambda code. You version and then alias the most recent changes to you lambda with the 'beta' alias. The 'In Development' version of your skill is pointing to the beta ARN. You go ahead and publish the skill and after certification it is the version that has the 'Live' status. But the ARN is pointing to the beta alias. At this point the lambda code is correct, but the alias is wrong. In the Lambda console, you assign the 'prod' alias to the latest version and in the Developer Console, change the ARN to the 'prod' aliased version. Now the beta alias is ready to be used for the next set of changes. The current two-phase (In Development => Live) deployment of skills does not function well with the versioning and aliasing of lambda functions unless you are able to change the ARNs for a Live skill. The fact that the reason for changing the ARN is because of certification it would be skill to require re-certification just for changing the alias portion of the ARN.
If there are concerns about bait-n-switch (where a skill is certified and then the code is swapped out for other code) then changing the endpoints could put this skill on a re-evaluation list to be checked out and removed if needed.
David E. Merrick commented
Yes please. Just ran into this myself. I had a staging Lambda for the development version of my skill, and inadvertently certified it based on that. Now my prod skill is pointing at my staging Lambda. Would really like to be able to change that back without recertifying.